栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 笔试题库

[填空题] 类Test定义如下:class Test public static void main(string args[]) String s1="abc";String

笔试题库 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[填空题] 类Test定义如下:class Test  public static void main(string args[])  String s1="abc";String

[填空题] 类Test定义如下:

class Test public static void main(string args[])

String s1="abc";

String s2=new String(s1);

if(s1==s2)

System.out.println("s1==s2";

if(s1.equals(s2))

System.out.println("s1.equals(s2)");

那么程序的执行结果为: 【15】

正确答案:

s1.equals(s2)

参考解析:

本题考查的是:“==”和equals的区别。=操作符专门用来比较变量的值是否相等。比较好理解的一点是:int a=10;int b=10;则a==b将是true。但不好理解的地方是: String a=new String("foo");String b=new String("foo");则a==b将返回false。对象变量其实是一个引用,它们的值是指向对象所在的内存地址,而不是对象本身。a和b都使用了 new操作符,意味着将在内存中产生两个内容为"foo"的字符串,既然是“两个”,它们自然位于不同的内存地址。a和b的值其实是两个不同的内存地址的值,所以使用“==”操作符,结果会是false。诚然,a和b所指的对象,它们的内容都是"foo",应该是“相等”,但是==操作符并不涉及到对象内容的比较。对象内容的比较,正是equals方法做的事。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/482090.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号