【发布时间】:2012-07-18 00:56:23
【问题描述】:
采取以下措施:
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;
我个人更喜欢后者,不过我想听听你的想法。
【问题讨论】:
-
为什么还需要两个变量引用同一个对象?
-
@Don
fnef是一个字段,它存储对对象的引用以供整个类使用,假设对象是FileNameExtensionFilter;另一方面,filter是我发布的代码片段所在方法中的局部变量。
标签: java variables syntax coding-style variable-assignment