Страницы

Поиск по вопросам

пятница, 1 марта 2019 г.

Какой вариант проверки условия наиболее производителен?

int a = 0; String b = "0";
вариант:
if(String.valueOf(a).equals(b)) {} вариант:
if(Integer.valueOf(b) == a) {}


Ответ

Пример кода:
int[] a = new int[1000000]; String[] b = new String[1000000]; for(int i = 0; i < 1000000; i++){ a[i] = i; b[i] = "8"; } long start = System.currentTimeMillis();
for(int i = 0; i < 1000000; i++){ if(String.valueOf(a[i]).equals(b[i])){
} }
System.out.println(System.currentTimeMillis() - start); start = System.currentTimeMillis();
for(int i = 0; i < 1000000; i++){ if(Integer.valueOf(b[i]) == a[i]){
} } System.out.println(System.currentTimeMillis() - start);
Результаты в мс (4 запуска):
1 вариант: 203 | 156 | 484 | 140
2 вариант: 32 | 47 | 47 | 32

Комментариев нет:

Отправить комментарий