请教一个比较字符串的问题
string str1,str2,str3;
str1="welcome to JSP";
str2="welcome to";
str3=str2+" JSP";
if(str1==str3)
out.print("YES");
else
out.print("NO"):
结果是NO,为什么啊?
搜索更多相关主题的帖子:
字符
----------------解决方案--------------------------------------------------------
==比较的是比较两个字符串的值和两个字符串的栈空间是否都相当。
如果你想比较两个字符串的值是否相等你可以用equals,他只比较两个字符串的值。
----------------解决方案--------------------------------------------------------
两个对象放的地方当然不一样了
----------------解决方案--------------------------------------------------------
在java里,string是对象,比较对象不用==
----------------解决方案--------------------------------------------------------
首先谢谢大家的回答!再看看下面这个例子
String str1="welcome to JSP";
String str2="welcome to JSP";
if(str1==str2)
out.print("yes");
else
out.print("no");
这个例子的输出结果是?
----------------解决方案--------------------------------------------------------
应该是NO吧
----------------解决方案--------------------------------------------------------
String比较用EQUALS()
用 ==
是不对的
----------------解决方案--------------------------------------------------------
都是="welcome to JSP"; 呵呵
----------------解决方案--------------------------------------------------------
要比较字符串最好用equals,况且str1="welcome to JSP"!=str3=str2+" JSP",
str3="welcome toJSP"
----------------解决方案--------------------------------------------------------
String str1="welcome to JSP";
String str2="welcome to JSP";
if(str1==str2)
out.print("yes");
else
out.print("no");
这个例子的输出结果是YES,
你如果用new string定义就不一样了,
String str1=new string ("welcome to JSP");
String str2=new string ("welcome to JSP");
if(str1==str2)
out.print("yes");
else
out.print("no");
这个例子的输出结果是NO.
----------------解决方案--------------------------------------------------------