请高人指点这个是为什么

jingyangjing 2010-04-10 09:32:08
String tom = new String("we are students");
String boy = new String("we are students");
String jerry = new String("we are students");
tom.equals(boy)的值是false;tom.equals(jerry)的值是true;
这个是为什么,请哪位高人指点哈,是要分析内存的不同吗?我有点不理解。
...全文
291 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
zoeg 2010-04-13
  • 打赏
  • 举报
回复
有这时间上来发贴问,不如直接敲代码检验一把,这问题问的有点哗众取宠!
nanjiwubingqq 2010-04-13
  • 打赏
  • 举报
回复
一切有机器说了算
实践出真知
alvamai 2010-04-13
  • 打赏
  • 举报
回复
我知道!因为 boy 后来毕业了啊 所以不再是 student 了 结果当然为 false !!!
yymn_love 2010-04-13
  • 打赏
  • 举报
回复
这个题我见过,你看一下大小写,应该是boy的你敲错了。在我的java课本上我见过这道题
James.Ji 2010-04-13
  • 打赏
  • 举报
回复
都不实际操作就胡乱提问回答…………
cwjieNo1 2010-04-13
  • 打赏
  • 举报
回复
要先自己敲一下啊·晕菜了·
cxxer 2010-04-12
  • 打赏
  • 举报
回复

import java.lang.*;
import java.io.*;

public class Test2
{
public static void main(String [] args)
{
String tom = new String("we are students");
String boy = new String("we are students");
String jerry = new String("we are students");
System.out.println(tom.equals(boy));
System.out.println(tom.equals(jerry));
}
}


输入结果都是true,估计是书本印刷错误。
jacky花园 2010-04-12
  • 打赏
  • 举报
回复
漂过
汤姆and杰瑞
yugong2009 2010-04-12
  • 打赏
  • 举报
回复
String 重写了equals()方法,只要指向的字符串内容相同就返回true
我的运行结果也是true true
wanyyl2353406 2010-04-12
  • 打赏
  • 举报
回复
true
true
这是运行的结果
java_zhengjd 2010-04-12
  • 打赏
  • 举报
回复
要知道equals根==对变量在内存中的分配是不一样的,简单的说equals比较的是两个变量的值,而==比较的却是它们的地址。很显然Lz打印出来的应该是两个true。
newarraylist 2010-04-12
  • 打赏
  • 举报
回复
不是电脑坏了就是脑子坏了
duanningfeng520 2010-04-11
  • 打赏
  • 举报
回复
class EqualsTest {
public static void main(String args[]){
String tom = new String("we are students");
String boy = new String("we are students");
String jerry = new String("we are students");
if(tom.equals(boy)){
System.out.println("true");
}
else{
System.out.println("false");
}
if(tom.equals(jerry)){
System.out.println("true");
}
else{
System.out.println("false");
}
}
}
自己运行一下吧
jingyangjing 2010-04-11
  • 打赏
  • 举报
回复
谢谢大家,课本上面错了。
duanningfeng520你的例子我运行了的,是两个true。
不能随便相信书啊。
尽信书不如无书。
jingyangjing 2010-04-11
  • 打赏
  • 举报
回复
这个是我在清华大学编的一门教材《Java2 实用教程第三版》P104上面看到的,请大家再帮我分析哈,代码没有错
恋之最 2010-04-11
  • 打赏
  • 举报
回复
String tom = new String("we are students");
String boy = new String("we are students");
String jerry = new String("we are students");

System.out.println(tom.equals(boy));
System.out.println(tom.equals(jerry));
同学,你是不是眼睛看错了!输出2个都是true。
susuifeng 2010-04-11
  • 打赏
  • 举报
回复
什么情况。。。。。
niulei190922 2010-04-11
  • 打赏
  • 举报
回复
估计tom和jerry是一个村子的,boy估计是隔壁村子的,他俩欺负这一个
zhuyouyong 2010-04-11
  • 打赏
  • 举报
回复
这个问题没有什么讨论的价值吧!应该是true,菜鸟都知道的!
godismydaughter 2010-04-11
  • 打赏
  • 举报
回复
LZ应该直接上机试试的。
加载更多回复(15)

62,584

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧