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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘明月 中级黑马   /  2012-9-8 12:28  /  993 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class Test2 {
public static void main(String[] args) throws IllegalArgumentException, IllegalAccessException
{
  Test1 test=new Test1();
  changeToString(test);
  System.out.println(test);
}
public static void changeToString(Object obj) throws IllegalArgumentException, IllegalAccessException
{
  Field[]fields=Object.class.getFields();
  for(Field field:fields)
{
   if(field.getType()==String.class)
   {
    String oldValue=(String)field.get(obj);
    String newValue=oldValue.replace('b','a');
    field.set(obj, newValue);
   
   }
  }
}
}
张老师的视频中特意强调红色字体的if中的条件用“==”连接,为什么“==”比equals好呢?

点评

张老的原话是:字节码本来就一份,2者都可以比较,用==显得更加专业!  发表于 2012-9-8 19:09

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1 赞一个!

查看全部评分

3 个回复

倒序浏览
因为只要地址不一样,那么肯定就不是是同一份字节码!equals的话,就必须进行内容的比较比较耗时!
回复 使用道具 举报
武庆东 发表于 2012-9-8 12:53
因为只要地址不一样,那么肯定就不是是同一份字节码!equals的话,就必须进行内容的比较比较耗时! ...

意思就是说如果进行equals比价的话,需要一个字符一个字符进行比较是吗
回复 使用道具 举报
刘明月 发表于 2012-9-8 12:56
意思就是说如果进行equals比价的话,需要一个字符一个字符进行比较是吗

至少我这么认为!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马