Junior — Middle
Javaда orElse жана orElseGet методдору кайсы айырмачылыкка ээ жана алардын колдонуу өзгөчөлүктөрү кандай?
sobes.tech AI
AIден жооп
Javaда, orElse жана orElseGet методдору Optional классы менен колдонулат, эгер объект жок болсо, алдын ала белгиленген маанини коюу үчүн.
orElse(T other)— методду чакырганда дароо эсептелген алдын ала маанини кабыл алат,Optionalичинде мааниси бар же жок экенине карабастан.orElseGet(Supplier<? extends T> other)— берүүчү (функция) кабыл алат, ал жана мааниси жок болсо чакырылат, башкача айтканда, маанинин эсептелиши керек болгондо кечиктирилет.
Колдонуу өзгөчөлүктөрү:
- Эгер алдын ала маанинин эсептелиши кымбат болсо же терс таасирлери болсо,
orElseGetколдонуу жакшы, анткени керексиз чыгымдарды алдын алууга болот. - Эгер мааниси жөнөкөй жана тез болсо,
orElseколдонсо болот.
Мисал:
Optional<String> opt = Optional.empty();
// orElse ар дайым "default" эсептейт
String result1 = opt.orElse(getDefault());
// orElseGet only calls getDefault() if opt is empty
String result2 = opt.orElseGet(() -> getDefault());
public String getDefault() {
System.out.println("Өлчөмдө алдын ала маанини эсептөө");
return "default";
}