java web Java中string的用法?
Java中string的用法?
String a=“ABC”
此时,已为String类型的变量分配了内存地址[即堆],然后重新分配相同的变量。引用类型变量的内存地址指向相同的内存地址,因此重新分配时,内存中的值会发生变化。例如:String A=“BCD”此时,内存中的值变成了BCD
为了比较,我们的第一反应是第一个和第二个是否相等。在java开发语言中,我们经常用双等号“==”来判断两个变量,例如3==3是真的,但是在java中用“==”来判断字符串时,有时两个变量是明的就像两颗豌豆,但他的结果总是假的,所以经常被新手开发人员迷惑。通常在展开时,我们经常使用A.equals(b)来判断两个字符串是否相等。
换言之,如果两个变量存储在同一内存中,则两个变量A和B的结果为“string=”1234“=”1234”,当使用“=”和A.equals(B)时,它们的结果相等,因为两个字符串A和B后跟两个字符串常量,并且它们在内存中的存储位置相同,因此“=”的结果相等和a.equals(b)相等;
但是对于字符串a=new string(“1234”)字符串b=new string(“1234”),虽然a和b的结果都是“1234”,但是用“=”来判断时,结果是不相等的,因为此时a和b是两个对象,它们的内存位置不相等,所以“=”他的判断是不相等的,此时,使用a.equals(b)得到的结果是正确的;
使用a.equals的原因是(b)结果是两个字符串相同,因为string类重写了equal()方法。他的比较方法是遍历两个字符串中的每个字符。只有当两个字符串的每个位置的字符相同时,此方法返回的值才会相等(true)。因此,在我们的开发过程中,当遇到字符串比较时,我们使用string equals()方法进行判断,这样可以减少很多bug。同样,我们不仅可以使用equal()方法进行字符串比较,还可以使用equal()方法对任意两个对象进行比较;
阅读以上内容后,您知道Java字符串比较吗?
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。