我在判断之前还加了段字符串,为什么不会被打印出来,求解
我这边竟然图裂了
你的代码和控制台打印结果执行的代码不一致,截个一致的图吧,要不没法给你分析
==在复合数据类型(类)中比较的是地址值,在基本数据类型中比较的是内容是否相等,string是一个特殊的引用类型。对于两个字符串的比较,不管是 == 和 equals 这两者比较的都是字符串是否相同;所以s1==s3结果为true,而对于你出现双引号的内容未被打印出来,是因为运算优先级的问题,首先是双引号里面的内容也是字符串,首先和s1进行了字符串拼接,再进行==判断是否相等,所以结果为false,你可以用下面那种试一下,会解决问题。
System.out.println("a result is"+(s1==s2));