Тот факт, что вы обычно видите обе эти формы, наиболее вероятен из-за сочетания следующего:
Различия в предпочтениях стиля.Первая форма более краткая, и некоторые люди предпочитают ее по этой причине.
Различия в том, как программист думал о проблеме.
Различия в том, как программист думает, что читатель подумает о проблеме.(Как и «Я знаю, что индексы массивов переходят на array.length - 1
, и я хочу, чтобы читатель увидел, что я учел это». )
A (вероятно, ошибочно) убеждение, что одна версия более эффективна, чем другая.
Я говорю «вероятно, ошибочно», поскольку единодушным является то, что современный JIT-компилятор Java, вероятно, оптимизируетдве формы в нативный код, который имеет эквивалентную производительность.Я констатирую это без предоставления доказательств 1 , потому что мне не известны какие-либо контр-доказательства 2 .
1 - Свидетельство может быть получено путем надлежащего тестирования производительности или тщательного анализа собственного кода, генерируемого JIT-компилятором.Изучение байт-кодов ничего не докажет.
2 - Если бы были контр-доказательства ... что это имело значение ... Я утверждаю, что это будет общеизвестно!