gpt4 book ai didi

用于检查输入参数的 Java 选项

转载 作者:行者123 更新时间:2023-12-03 00:08:39 27 4
gpt4 key购买 nike

我习惯使用方法顶部的 java 样板检查输入参数:

public static Boolean filesExist(String file1, String file2, String file3 ... ) {
if (file1 == null || file2 == null || file3 == null ||...) {
throw new IllegalArgumentException();
}
if (another_param == null) {
throw new NullPointerException();
}
}

但是,我在阅读 Java 8 的 optional 时发现我们可以这样做:

Optional.ofNullable(file1).orElseThrow(IllegalArgumentException::new);
Optional.ofNullable(file2).orElseThrow(IllegalArgumentException::new);
Optional.ofNullable(another_param).orElseThrow(NullPointerException::new);
...

所以我的问题是第二种方式有什么缺点吗,我觉得它对我来说看起来更干净一些。

最佳答案

对于输入验证,请使用 Objects.requireNonNull相反:

public static Boolean filesExist(String file1, String file2, String file3 ... ) {
Objects.requireNonNull(file1);
Objects.requireNonNull(file2, "custom message");
}

它更简洁,更清楚地传达意图,并且不会创建额外的Optional对象。但它会抛出一个 NullPointerException

关于用于检查输入参数的 Java 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56660967/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com