Для двух строк это не имеет большого значения, но когда задействован не final
тип, это может быть микрооптимизацией.
Если левая сторона не является переопределенным бетонным типом, то отправка становится статической.
Рассмотрим, что JIT должен сделать для
Object o;
String s;
o.equals(s)
против
* * 1010
В первом JIT должен найти фактический используемый метод equals
, тогда как во втором он знает, что может только на String.equals
.
Я принял привычку делать
"constant value" == variableName
на других языках, так как это означает, что код не сможет быть проанализирован, если я введу неправильно =
вместо ==
.
И когда я выучил Java, я сохранил этот порядок предпочтений.