我不是问的传统问题 我是要问输出结果 第一个为什么不显示str1==str 而只有一个FALSE?你们试一试看看那 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 "str1==str "+str1 这个字符串 != str2鉴定完毕 注意+的优先级比==高。System.out.println("str1==str "+str1==str2); 修改为System.out.println("str1==str "+(str1==str2)); 。无语了为什么只有一个FALSE?为什么?前面的不显示 字符串不相等不显示FALSE还显示什么呢 System.out.println("str1==str "+str1==str2); 字符串是不能这样比的 。这样比的是str1 和 str2的 内存地址。。这两个字符串的内存地址是不是一样的所以出 flase.不然你认为 为什么会有 equals这个方法? public class Test { public static void main(String[] args) { String str1=new String("abc"); String str2=new String("abc"); System.out.println("str1==str "+(str1==str2)); System.out.println("str1.equals(str2) "+str1.equals(str2)); } }这样写正解!~~ 因为 当你执行到"str1==str "+str1 时 当前的字符串就是"str1==str abc" 当然就不等于str2了 所以就是 false了 lz照上执行就可以了 ==用在字符串中是比较对应的字符串对象的地址,而不是值。这样可以显示两者相等:System.out.println("str1==str2"+str1+"=="+str2); 从java内存出发解释下面3个问题。(关于常量池) 求助:C/S之----实现客户端界面右键菜单功能 给PDF文件添加属性问题 关于jmf中的buffercontrol,介绍下 如何在桌面应用程序中加入音乐效果? jsp在linux下的文件操作,急!!!请在linux下做过jsp开发的高手来看看啊 !!! 求一个JTree的简单例子 (急!一定送分100!!)java GB2132 ISO8859_1和Sybase 相连,都出现乱码 如何得到客户端请求的网址,急!!!!! 求问这道题目的解题思路,万分感谢啊!! 什么情况编译不通过?什么情况下运行不通过? 登陆界面的跳转
鉴定完毕
System.out.println("str1==str "+str1==str2);
修改为
System.out.println("str1==str "+(str1==str2));
为什么只有一个FALSE?为什么?
前面的不显示 字符串不相等
不显示FALSE还显示什么呢
这两个字符串的内存地址是不是一样的所以出 flase.不然你认为 为什么会有 equals这个方法?
public class Test
{
public static void main(String[] args)
{
String str1=new String("abc");
String str2=new String("abc");
System.out.println("str1==str "+(str1==str2));
System.out.println("str1.equals(str2) "+str1.equals(str2));
}
}这样写正解!~~
因为 当你执行到"str1==str "+str1
时 当前的字符串就是"str1==str abc"
当然就不等于str2了
所以就是 false了
lz照上执行就可以了
这样可以显示两者相等:System.out.println("str1==str2"+str1+"=="+str2);