TIJ上写错了?# Java - 爪哇娇娃
b*p
1 楼
一直认为java中String对象如果用new来创建,即使内容一样(identical character
sequ
ences),也还是不同对象,当然在内存中不同地方。
只有用quoted character string(字符串常量?)初始化时,如果内容一样,就会指
向之
前创建过的String对象,而不是新建一个。如: String a="a"; String b="a";那此时
a,
b两个reference都是指向同一个对象。记得有人写过java编译会把这些字符串常量放进一
个pool里,每次加入新的时候都保证不重复创建同样内容的对象。
但前两天看TIJ 3rd上,p540说"if a program has several String objects that
conta
in identical character sequences, then those String objects ALL MAP to the
sam
e memory.这里没有区别String对象怎样创建。紧接着后面提到So it makes sense
that
the hashCOde()
sequ
ences),也还是不同对象,当然在内存中不同地方。
只有用quoted character string(字符串常量?)初始化时,如果内容一样,就会指
向之
前创建过的String对象,而不是新建一个。如: String a="a"; String b="a";那此时
a,
b两个reference都是指向同一个对象。记得有人写过java编译会把这些字符串常量放进一
个pool里,每次加入新的时候都保证不重复创建同样内容的对象。
但前两天看TIJ 3rd上,p540说"if a program has several String objects that
conta
in identical character sequences, then those String objects ALL MAP to the
sam
e memory.这里没有区别String对象怎样创建。紧接着后面提到So it makes sense
that
the hashCOde()