Вопросы об использовании необязательного для замены тройного условияJAVA

Программисты JAVA общаются здесь
Anonymous
Вопросы об использовании необязательного для замены тройного условия

Сообщение Anonymous »

У меня есть несколько вопросов об использовании необязательного для замены тройного условия. < /p>
Скажите, что у нас есть класс: < /p>
public class A {
private String b;

//. Getters and Setters.
}
< /code>
и: < /p>
final A a = new A();
if(someCondition1) {
A.setB(“b”);
}

String optionA;
String optionB;
if(someCondition2) {
optionA = “optionA”;
}
if(someCondition3) {
optionB = “optionB”;
}
< /code>
Я пытаюсь заменить тройной условной: < /p>
final String result = Objects.isNull(a.getB()) ? optionA : optionB;
< /code>
с использованием опционов. Ниже:
опция 1: < /p>
final String result = Optional.of(a)
.map(a -> Objects.isNull(a.getB()) ? optionA: optionB)
.orElse("");
< /code>
опция 2: < /p>
final String result = Optional.ofNullable(a.getB())
.map(b -> optionB)
.orElse(optionA);
< /code>
Некоторые вопросы о двух параметрах: < /p>

В варианте 1, если a.getb () - null и опция является нулевым, тогда результат будет установлен на «» (ORELSE ()). < /li>
В варианте 1, если a.getb () не является нулевым, а опцион - нулевой, то Результат будет установлен на «» (ORELSE ()). < /li>
В опции 2, если опция является нулевым, то результат будет установлен на Optiona (orelse ()). /li>
В обоих случаях, если 'a' is null, будет выброшено исключение с нулевым указателем. < /li>
< /ul>
это все. Из этого правильного?
Есть ли другие моменты, которые следует учитывать? Использование опционов для замены тройного условного, которое я предоставил?
Заранее!

Подробнее здесь: https://stackoverflow.com/questions/794 ... -condition

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