我的问题:http://community.csdn.net/Expert/topic/4621/4621483.xml?temp=.501095
我要将一个文件中的条目(一般形式为name = value)逐条加入一个HashMap对象hm中
现在采用的方法是设两个String临时变量key,value,每读一条就执行hm.put(key,value)
但是我记得集合类都是以引用方式加入的,这是不是说,当我读取下一条记录时,由于key和value变了,会导致之前加入HashMap的值也变化?
===================================
答:String是只读类,所以没有关系
如果换成StringBuffer,就有关系了,如代码:
import java.util.*;
public class test3 {
public static void main(String[] args)
{
StringBuffer a1 = new StringBuffer("1");
//String a2 = a1;
//a2 = "2";
ArrayList ar = new ArrayList();
ar.add(a1);
System.out.println( "a1 = " + a1 );
a1.append('a');
System.out.println( "then: a1 = " + a1 );
}}
输出:
a1 = 1
then: a1 = 1a