我不喜欢下面的代码看起来如何,我想知道如何使用三元运算符来做到这一点:
if (isIndexed) {
Files.move(source, destination);
}
else {
Files.move(source, destination, StandardCopyOption.REPLACE_EXISTING);
}
Run Code Online (Sandbox Code Playgroud)
我期待的东西看起来像:
Files.move(source, destination, isIndexed ? xxxx : StandardCopyOption.REPLACE_EXISTING);
Run Code Online (Sandbox Code Playgroud)
如果我可以使用某种"默认"复制选项,我认为这将是我正在寻找的.但是StandardCopyOption的枚举没有"NONE"选项.
所以我可能错过了一些东西.它是什么?
这是一个varargs参数,所以你可以设置一个空数组new StandardCopyOption[0].
Files.move(source, destination, isIndexed ? new StandardCopyOption[0] : new StandardCopyOption[] { StandardCopyOption.REPLACE_EXISTING });
Run Code Online (Sandbox Code Playgroud)
你只需要将条件的另一只手放在一个数组中.您可以将它重构为两个(本地)常量以提高可读性.
| 归档时间: |
|
| 查看次数: |
100 次 |
| 最近记录: |