Edit: or
জাভা 9 একটি খুব মার্জিত সমাধান প্রস্তাব করে:
Optional myFunc() {
return func1().or(this::func2);
}
জাভা 8
বিভিন্ন উপায় আছে। আমি ঐচ্ছিক
গুলি থেকে
func1
এবং func2
থেকে মানগুলি নিতে পছন্দ
করি:
Optional myFunc() {
String returnValue = func1().orElse(func2().orElse(null));
return Optional.ofNullable(returnValue);
}
যদি func2
এ কলটি ব্যয়বহুল, তবে এটি যখন প্রয়োজন
হয় না তখন আপনি এটিকে এড়াতে চাইতে পারেন (যখন func1
একটি মান সরবরাহ করে):
String returnValue = func1().orElseGet(() -> func2().orElse(null));
isPresent
used in a couple of other answers is so
low-level, I seldom use it and only as a last resort.