import java.util.*;public class Tester {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Hashtable aPhoneBook = new Hashtable();
Object aObject = new Object();
aPhoneBook.put("abc", "123456");
aObject = aPhoneBook.put("abc", "123456");
System.out.println(aPhoneBook + "," + aObject);
}}Object aObject = new Object();//这一句FindBugs提示说有问题:Dead store to local variable。
虾米意思?
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Hashtable aPhoneBook = new Hashtable();
Object aObject = new Object();
aPhoneBook.put("abc", "123456");
aObject = aPhoneBook.put("abc", "123456");
System.out.println(aPhoneBook + "," + aObject);
}}Object aObject = new Object();//这一句FindBugs提示说有问题:Dead store to local variable。
虾米意思?
这行显示的是Variable 'aObject' initializer 'new Object()' is redundant.
IDE觉得这么初始化没有必要吧.
合在一起就没事了。Object aObject = aPhoneBook.put("Freeze", "123456");为什么呢?为什么new一下不好呢?Object 有什么特殊的说法码?
Object aObject = new Object();
这一句执行3个动作:
1)创建一个引用
2)创建一个Object对象
3)把Ojbect的引用赋值给aObject其中,后面两个动作是多余的,因为后面的程序中你没有使用这个新建的Object,而是重新给aObject赋值。
aObject = aPhoneBook.put("abc", "123456");所以,只需要
Object aObject;
就可以了FindBugs的提示:Dead store to local variable。
意思应该是:本地变量存储了闲置不用的对象。zbo(大门)说的IDEA中的提示比较直观。
'new Object()'是多余的。