永远不要使用==来比较字符串

       最近在看《Core Java 2》,有种相见恨晚的感觉,比先前看得几本书都要好很多,其中很多讲解堪称经典。其中关于测试字符串是否相等的部分就非常清楚。原文如下:
Do not use the == operator to test whether two strings are equal! It only determines whether or not the strings are stored in the same location. Sure, if strings are in the same location, they must be equal. But it is entirely possible to store multiple copies of identical strings in different places.
If the virtual machine would always arrange for equal strings 
to be shared, then you could use the ==constants are shared, not strings 
that are the result of operations like + or substring. 
Therefore, never use == to compare 
strings lest you end up with a program with the worst kind of bug—an 
intermittent one that seems to occur randomly. operator for testing equality. 
But only string             
阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭