Метод B потерпит неудачу с NullPointerException на нулевой строке1, тогда как метод A никогда не сгенерирует это.Некоторые власти предписывают это «оборонительное» программирование.Они повлияли на меня, хотя это все еще не происходит естественным образом!
Можно также написать
if (string1 != null && string1.equals("MyString")) ...
, хотя такие инструменты, как FindBugs, отмечают это как возможную ошибку, предполагаяВы должны были убедиться, что string1 уже был ненулевым.(Можете ли вы рассчитывать на порядок оценки?).
Итак, существуют разные школы мысли.