大佬教程收集整理的这篇文章主要介绍了奇怪的Groovy / Java String比较行为,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
def a = new HashSet() def str1 = "str1" def str2 = "str2" def b = "$str1-$str2" def c = "str1-str2" println "b: $b" println "c: $c" println "b.equals(C): " + (b.equals(C)) println "b == c: " + (b == C) println "b.compareTo(C): " + (b.compareTo(C)) a.add(b) println "a.contains(C): " + a.contains(C)
使用Groovy 1.8和JDK 1.6.0_14运行时,其输出如下:
b: str1-str2 c: str1-str2 b.equals(C): false b == c: true b.compareTo(C): 0 a.contains(C): false
两个字符串“b”和“c”打印相同的字符序列,但是b.equals(C)是假的.根据JDK 1.6手册,equals()函数应该返回:
为什么equals()不返回上面记录和演示的值?奇怪的是,compareTo()返回0!
以上是大佬教程为你收集整理的奇怪的Groovy / Java String比较行为全部内容,希望文章能够帮你解决奇怪的Groovy / Java String比较行为所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。