SSK*_*SSK 0 java java-8 spring-boot
我有来自用户的三个输入
字符串key1
字符串key2
字符串key3
用户一次只能传递一个键作为输入。我正在验证它如下。
在我的代码中,我正在检查
if(key1 == null && key2 == null && key3 == null){
throw new Exception("invalid input");
}else if((null != key1 && null != key2) || (null != key2 && null != key3) || (null != key1 && null != key3)){
throw new Exception("invalid input");
}
Run Code Online (Sandbox Code Playgroud)
我们可以避免这些or条件吗?可能正在使用Java-8?
对此的任何想法/建议将不胜感激。
注意:我有一个 JUnit 测试代码,所以我也需要减少测试用例的数量。
使用流 api 可以这样完成:
int count = Stream.of(key1, key2, key3).filter(Objects::nonNull).count();
if(count != 1) {
throw new Exception("invalid input");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
92 次 |
| 最近记录: |