Какой из этих двух фрагментов Java быстрее, чем преобразование строки в long? - PullRequest
0 голосов
/ 20 марта 2012

Я хочу преобразовать строку в длинную. Что является более производительным?

new Long(String)

или

Long.parseLong(String)

Ответы [ 3 ]

3 голосов
/ 20 марта 2012

Я просто хотел бы отметить, что это, скорее всего, не имеет отношения к производительности вашего приложения, которое вы используете.

Не тратьте свое время на микрооптимизацию ... если вы не профилировали свой код, и профилирование не говорит вам, что эти конкретные вызовы вносят существенный вклад в общую производительность. И после того, как вы это сделаете, будет тривиальной задачей попробовать альтернативный метод и повторно запустить профилирование, чтобы увидеть, насколько оно существенно.

1 голос
/ 20 марта 2012

Если вы посмотрите на исходный код java.lang.Long , конструктор Long(String) вызывает Long.parseLong(String, int) внутри.Тем не менее, как отметил Чандра Сехар, прямой вызов Long.parseLong(String) вернет вам примитивное значение long, которое обычно будет работать быстрее, чем * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 100 * * * * * * *

0 голосов
/ 20 марта 2012

В первом случае вы получите полноценный Long объект класса Wrapper. Но второе даст вам long примитивное типизированное значение.

Так что, на мой взгляд, лучше использовать примитивный тип вместо объекта, если только ситуация не заставляет использовать объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...