黑马程序员技术交流社区
标题:
为什么要用equals方法才能匹配到over做为结束标记。而用==...
[打印本页]
作者:
混乱的世界
时间:
2015-4-23 21:29
标题:
为什么要用equals方法才能匹配到over做为结束标记。而用==...
本帖最后由 混乱的世界 于 2015-4-23 22:39 编辑
import java.io.*;
class Demo
{
public static void main(String[] args) throws Exception
{
String str1="abc";
String str2="abc";
System.out.println(str1==str2);
System.out.println(str1=="abc");
System.out.println(str1.equals("abc"));
BufferedReader bfr=new BufferedReader(new InputStreamReader(System.in));
String s=null;
PrintWriter pw=new PrintWriter(System.out,true);
while((s=bfr.readLine())!=null)
{
//为什么要用equals方法才能匹配到over做为结束标记。
if(s=="over")
break;
else
pw.println(s.toUpperCase());
}
bfr.close();
pw.close();
}
}
复制代码
作者:
混乱的世界
时间:
2015-4-23 21:41
求告知,两个String对象用==判断和equals方法判断到底有什么区别
作者:
chenxin2015
时间:
2015-4-23 21:42
==比较是地址 equals比较是内容
作者:
混乱的世界
时间:
2015-4-23 21:45
chenxin2015 发表于 2015-4-23 21:42
==比较是地址 equals比较是内容
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
String中的equals同样用了对象直接的==来判断,
还有字符串不都是固定的么,每一个字符串在系统中的地址都是一定的,你看我上面的几个判断语句,
用==来判断两个字符串和equals效果是相同的
作者:
duzhi409
时间:
2015-4-23 22:07
String类中==是比较指向的对象是否相同,也就是地址值
equals比较的是字符串内容是否相同
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2