Можете ли вы сохранить переменную внутри IF-CLAUE?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Можете ли вы сохранить переменную внутри IF-CLAUE?

Сообщение Anonymous »

Я вроде как жду ответа «нет» на этот вопрос. в IF-поставке. < /p>

Допустим, у меня есть этот код. < /p>

if(foo!=null){
if(foo.getBar()!=null){
Bar bar = foo.getBar();
System.out.println("Success: " + bar);
} else {
System.out.println("Failure.");
}
} else {
System.out.println("Failure.");
}
< /code>

Я сейчас обращаюсь с «сбоем» -States независимо, даже если результат такой же. Я мог бы собрать их так: < /p>

if(foo!=null && foo.getBar()!=null){
Bar bar = foo.getBar();
System.out.println("Success: " + bar);
} else {
System.out.println("Failure.");
}
< /code>

уже много актуального кода. Если Foo Null, он остановится на этом и не попробует foo.getbar (в if), поэтому я не получу NPE. Последнее, что я хотел бы улучшить, и главный вопрос: действительно ли я дал мне дважды призывать foo.getbar ()? Было бы неплохо уйти от второго идентичного звонка, если Getbar () будет очень тяжелой операцией. Поэтому мне интересно, можно ли каким -то образом сделать что -то подобное с этим: < /p>

if(foo!=null && (Bar bar = foo.getBar())!=null){
Bar bar = foo.getBar();
System.out.println("Success: " + bar);
} else {
System.out.println("Failure.");
}
< /code>

Мне пришлось бы разбить его до двух разных, если бы я снова хотел бы сделать < /p>

Bar bar = foo.getBar();
if (bar!=null) ...


Подробнее здесь: https://stackoverflow.com/questions/564 ... -if-clause
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»