【发布时间】:2013-03-07 08:12:10
【问题描述】:
我创建了 Android 应用程序并在其上运行静态分析工具 PMD。而我不明白的是为什么它会给我警告并说在可能的情况下声明字段最终,就像在这个例子中一样。
final City selectedItem = (City) arg0.getItemAtPosition(arg2);
new RequestSender(aaa).execute(xxx, selectedItem.getId());
它只是启动内部 AsyncTask 实例。将其宣布为最终风格是一种好风格吗?为什么?为了可读性,我创建了一个新对象,但 PMD 说它应该是最终的。
【问题讨论】:
-
是否有理由将
RequestSender的实例存储在属性中?为什么不只是new RequestSender(aaa).execute(xxx,yyy); -
是的,你是对的。谢谢!但这只是示例,所以我会更新我的问题。
-
我给了 -1 因为 static 和 final 是不同的。选择正确的单词并在标题中使用它。不过更好,先搜索一下,比如:
[java] why make variable final. -
哦,对不起,这是个愚蠢的错误。我知道区别。