在项目中有如下语句:Global.NOT_RESTRICT !=companyGroupInfo.getSex() 也就是“NR” != "NR" 返回true(明明应该返回FALSE呀)
字符串在内存中是在字符串池中,如果字符串池已经存在字符串就直接引用地址即可。为什么此时就不行了。经过代码的一番验证发现,如果不涉及数据库,只是java代码对于字符串常量进行操作。Global.NOT_RES...
分类:
编程语言 时间:
2014-08-07 13:13:20
阅读次数:
198
synchroized代码块, 直接使用String作为lock的时候,不会起作用此时可已使用String.intern()作为代替,但String.intern()的缺陷是 如果字符串特别多,导致放入字符串池的String不可控,有可能导致OOM错误或者过多的Full GC具体参考这里http:/...
分类:
其他好文 时间:
2014-08-01 19:15:22
阅读次数:
1438
==是比较两个字符串引用的地址是否相同,即是否指向同一个对象,而equals方法则比较字符串的内容是否相同。例如String
a = "abc";String b = "abc";a ==
b返回true,a.equals(b)同样返回true,这是为什么呢?原来程序在运行时有一个字符串池,创建字符...
分类:
编程语言 时间:
2014-05-26 17:29:08
阅读次数:
320
这里首先介绍字符串池。类java.lang.String负责维护一个字符串池。可以将字符串池看作一个字符串的集合。在该字符串池中,具有相同字符序列的字符串只对应一个字符串实例对象。该字符串存放3类元素:存放字符串常量存放有限个字符串直接量进行“+”运算的结果由类java.lang.String的.....
分类:
编程语言 时间:
2014-05-18 19:03:30
阅读次数:
332