请高人指点这个是为什么

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;
这个是为什么,请哪位高人指点哈,是要分析内存的不同吗?我有点不理解。
...全文
297 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)
扩展功能: a. 首先满足网友的”口味”, 重新设计了所有旗子, 选择新的旗盘背景, 换了一个更清爽的面. (界面配色并不是件很容易的事情, 这样的棋类游戏长时间容易使眼睛疲劳, 首先要做到选择的色彩 不刺激眼睛,其实大部分色彩都比较刺激眼睛,尤其是纯三基色(红/黄/蓝), 还要使界面做得漂亮). b. 增加”回放” 功能. 当下完旗子时,可以重新回味一下, 刚杀完的一盘旗,可以寻找不足和重新感受 一下胜利的喜悦! 这个功能比较复杂! d. 又看了一下电脑走旗, 感觉确实比较难处理, 没有高人指点写这个算法确实比较难, 应该比以前聪明 了一些, 但是还是比较笨, 打算有空去找个现在的电脑走旗组件替换上, 自己的电脑走旗算法慢慢研 究(当时是因为实在找不到现在的组件, 自己写了个较笨的,如果哪位朋友能够提供组件,在次深表感谢!!!). e. 扩展走旗的步数容量, 有些网友, 对战的都是高手, 产生数组越界, 这次从 200 扩展到了500, 当然 您还可以扩展到更大,因为源代码已经开放). f. 增加图像缓存功能. g. 解决 .net 从framework 1.0到framework 2.0升级出现的程式升级逻辑问题及一个小bug. h. 本来我只是想把这个程式放到Blog上, 供爱好c#的网友学习,一起交流一下, 没想到反应那么的强烈! 经常收到网友的反馈邮件, 从下载量看,不到一年仅从我的下载空间(不算网友转载下载次数)就有近 二万五千次. 所以又重新看懂已经基本忘记的代码,修复了bug,并扩展了以上功能. 有可能还会增加一些功能! 另外,在此对给我提交建议和bug的朋友表示感谢!!! (开发语言: C#语言) 来自:http://community.csdn.net/Expert/topic/5237/5237003.xml?temp=.4600031

62,621

社区成员

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

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