采取以下措施:
if (filter instanceof FileNameExtensionFilter) {
fnef = (FileNameExtensionFilter) filter;
String[] extensions = fnef.getExtensions();
if (extensions.length > 1) {
fnef = filter = new FileNameExtensionFilter(fnef.getDescription(), extensions[0]);
}
}
其中,
filter
是FileFilter
对象,而fnef
是FileNameExtensionFilter
类型的实例变量。您是否认为在同一行上将值分配给多个变量是一种良好的编码习惯?还是最好从示例中编写第6行,如下所示:
fnef = new FileNameExtensionFilter(fnef.getDescription(), extensions[0]);
filter = fnef;
我个人更喜欢后者,尽管我想听听您的想法。
最佳答案
这是一个相当主观的问题。
我认为这更清楚:
fnef = new FileNameExtensionFilter(fnef.getDescription(), extensions[0]);
filter = fnef;
但是任何有经验的开发人员都可以理解:
fnef = filter = new FileNameExtensionFilter(fnef.getDescription(), extensions[0]);