采取以下措施:

if (filter instanceof FileNameExtensionFilter) {
    fnef = (FileNameExtensionFilter) filter;
    String[] extensions = fnef.getExtensions();
    if (extensions.length > 1) {
        fnef = filter = new FileNameExtensionFilter(fnef.getDescription(), extensions[0]);
    }
}


其中,filterFileFilter对象,而fnefFileNameExtensionFilter类型的实例变量。

您是否认为在同一行上将值分配给多个变量是一种良好的编码习惯?还是最好从示例中编写第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]);

07-26 08:12