DerBenniAusA:
私は、このコードのよりエレガントな解決策を探します。
var first = Optional.ofNullable(a);
var second = Optional.ofNullable(b);
if ((unit.isPresent() && value.isEmpty()) || (value.isPresent() &&
unit.isEmpty())) {
throw new ExpWhatever();
}
条件は以下のとおりです。
- > [OK]を、エラーなし/ EXCPT - 両方のoptionalsがnullの場合。
- (:EXCPTそうでない。)所与optionalsの一方が存在する場合、他の必須もが空でありません
任意のアイデアやヘルプをありがとう。
ジョンスキート:
それはのためのエラーだように聞こえるisPresent()
正確に一つのそれらのために真である-ので、XORはうまく動作します。
if (unit.isPresent() ^ value.isPresent()) {
// Throw an exception
}