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。
虾米意思?

解决方案 »

  1.   

    我用的IDEA.
    这行显示的是Variable 'aObject' initializer 'new Object()' is redundant.
    IDE觉得这么初始化没有必要吧.
      

  2.   

    aObject 说明你的这个对象没有被引用过。
      

  3.   

    把 Object aObject = new Object(); 和aObject = aPhoneBook.put("abc", "123456");
    合在一起就没事了。Object aObject = aPhoneBook.put("Freeze", "123456");为什么呢?为什么new一下不好呢?Object 有什么特殊的说法码?
      

  4.   

    编译肯定通过,运行也不会出问题。问题是
        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()'是多余的。