|
最初由 xiaoguazi 发布
[B]想请教一下string常量的问题,在java中,每个字符串常量都是String类的实例的一个引用,而String类对象拥有一个常量值,字符串就是这个常量表达式的值。是吗?我对这样的描述比较头痛,还有,同一个程序中的字符串总是同一个String对象的引用,不论他们是不是在同一个class或者同一个package中?????因此,equals("sajgsg","aaaaa" 的值就是true!?????请问到底真理是什么? [/B]
equals("sajgsg","aaaaa" 怎么可能是true?
在java中"="运算符比较的是两个变量的地址
equals方法比较的是变量的值(实际上是通过hashcode比较)
至于你说的“同一个程序中的字符串总是同一个String对象的引用”,好像也不对吧,不同的String实例其存储地址是不同的 |
|