我正在编写一个程序,用户可以在其中搜索目录,文件或两者。使用复选框确定用户想要执行的操作。在后来的路上,我可能会添加另一个选项,而我的代码看起来很丑陋,所有嵌套的if语句。
这是我到目前为止所做的:
if (directories.isSelected()) {
if (files.isSelected()) {
return file.isDirectory() || file.isFile();
}
return file.isDirectory();
} else {
if (files.isSelected()) {
return file.isFile();
}
}
有更简单的方法吗?
答案 0 :(得分:2)
试试这个:return (directories.isSelected() && file.isDirectory()) || (files.isSelected() && file.isFile());
编辑:如果directories.isSelected()
和files.isSelected()
都为假,则返回false。要使其在这种情况下返回true,请在末尾粘贴|| !(directories.isSelected() || files.isSelected())
。