先上结论
C++中的string
类型可以使用==
和!=
来判断两个字符串的值是否相等;而JAVA不行,JAVA中==
和!=
是用来判断两个字符串的地址是否相同(或者说是对象是否相同,即是否为同一个对象)。
C++中string
- ·运行结果
- 结果解释:C++中可以利用
==
来判断两个字符串的值是否相等。
JAVA中String
- ·运行结果
结果解释:JAVA中==来判断两个字符串的地址是否相同(或者说是两个字符串是否是同一对象),由于相同的字符串常量(程序中为"abc")在内存中只会存在一份,所以两个字符串指向的字符串常量是同一个地址,所以根据JAVA中,==来判断两个字符串的地址是否相同的原则可知,s1和s2相等。
- ·运行结果
结果解释:由于这两个字符串分别创建了两个对象(使用new
开辟了两段不同的存储空间,所以两个字符串的的地址也不同,只是两个字符串对象所在地址中存储的数值(字符)相同),所以根据JAVA中,==
来判断两个字符串的地址是否相同的原则可知,s1和s2不相等。
- ·运行结果
结果解释:JAVA中利用equas()
(区分大小写)成员函数来判断两字符串的值是否相等。
- ·运行结果
结果解释:JAVA中利用equalsIgnoreCase()
(不区分大小写)成员函数来判断两字符串的值是否相等。
回顾结论
C++与JAVA之间存在着一些区别,我们需要重视区别才能更好地灵活学习和运用不同的编程语言。
总之,C++中可以利用==来判断两个字符串的值是否相等;而JAVA中必须使用String类的成员函数equals()(区分大小写)和equalsIgnoreCase()(不区分大小写)来判断两个字符串的值是否相等。