A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李会成 中级黑马   /  2013-2-15 15:25  /  1225 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李会成 于 2013-2-16 11:23 编辑

for(Field field : fields){
if(field.getType()==java.lang.String.class)
这里用==比equals好,张老师说字节码都是那一份,我没听懂。
谁能通俗点解释清楚下么?

4 个回复

倒序浏览
field为一个对象,能调用它的方法,那它此刻肯定在内存中,而String类是基本类,jvm启动就加载再内存中了,而内存中所有的数据都是以字节码的形式展现
回复 使用道具 举报
==表示内存地址是不是相同。
equals表示地址相同,就返回true,不过当一个字符串在网络里穿过来时,
如果和比较的字符串相同,也返回true,


我是这样想的,应该是==号表示为true的条件苛刻,
所以本例用==号会显得比较专业。
回复 使用道具 举报
==比较的是地址值,也就是是不是同一个,equals通常用于比较内容是不是相同。

有两瓶康师傅绿茶用==比较返回false,用equals比较返回true
回复 使用道具 举报
请勿复制他人帖子,技术分不是入学的门槛而是为了帮助大家学习而存在的。

请勿再次发此类帖子了!

此贴就关闭了。此后如有再次发现直接封禁处理,请看到此贴的会员也加以注意。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马