我要将一个文件中的条目(一般形式为name = value)逐条加入一个HashMap对象hm中现在采用的方法是设两个String临时变量key,value,每读一条就执行hm.put(key,value)但是我记得集合类都是以引用方式加入的,这是不是说,当我读取下一条记录时,由于key和value变了,会导致之前加入HashMap的值也变化?

解决方案 »

  1.   

    因为String是只读类,所以不用担心.
      

  2.   

    这个问题也问啊?自己写段代码测试一下不就行了。 public static void main(String[] args)
    {
    HashMap hm=new HashMap();
    String key="";
    String value="";
    for(int i=0;i<10;i++)
    {
    key=Integer.toString(i);
    value="value "+Integer.toString(i);
    hm.put(key,value);
    }
    for(int i=0;i<10;i++)
    {
    System.out.println(hm.get(Integer.toString(i)));
    }

    }自己把上面的代码加到一个类中,然后运行,看看运行结果就知道了。
      

  3.   

    这样测一下就好:
    public static void main( String[] args )
    {
        String a1 = "1";
        String a2 = a1;
        a2 = "2";    System.out.println( "a1 = " + a1 + ", a2 = " + a2 );
    }a1 不会因为 a2 变了而变化的。
      

  4.   

    如果是StringBuffer呢?是不是就不行了?