Что лучше использовать?
a > 0
или
a != 0
В обоих случаях представим, что нас не интересует ничего кроме того, что число должно быть больше нуля.
Имеется ввиду в плане производительности, что сделать легче - проверить на больше или не равно ?
рассмотрим тестовый класс
public class OpsTest
{
public boolean gZero(int a)
{
return a > 0;
}
public boolean neZero(int a)
{
return a != 0;
}
}
в байт коде видим следующее:
// Method descriptor #15 (I)Z
// Stack: 1, Locals: 2
public boolean gZero(int a);
0 iload_1 [a]
1 ifle 6
4 iconst_1
5 ireturn
6 iconst_0
7 ireturn
Line numbers:
[pc: 0, line: 15]
Local variable table:
[pc: 0, pc: 8] local: this index: 0 type: OpsTest
[pc: 0, pc: 8] local: a index: 1 type: int
Stack map table: number of frames 1
[pc: 6, same]
// Method descriptor #15 (I)Z
// Stack: 1, Locals: 2
public boolean neZero(int a);
0 iload_1 [a]
1 ifeq 6
4 iconst_1
5 ireturn
6 iconst_0
7 ireturn
Line numbers:
[pc: 0, line: 20]
Local variable table:
[pc: 0, pc: 8] local: this index: 0 type: OpsTest
[pc: 0, pc: 8] local: a index: 1 type: int
Stack map table: number of frames 1
[pc: 6, same]
видим, что разница заключается в операторах ifle и ifeq, т.о., как уже говорили в комментариях, (ощутимой) разницы в производительности не будет, пишите код так что бы было читабельно.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Имеется RecyclerViewНеобходимо по нажатию на элемент перейти во фрагмент
Задача: расставить изображения так, как показано в рисунке во вложении ( два друг под другом, а третье - справа)