黑马程序员技术交流社区

标题: JAVA中的SPLIT问题 [打印本页]

作者: z_one    时间: 2015-11-11 22:12
标题: JAVA中的SPLIT问题
JAVA中我用split读取一串字符返回给一个数组,但是当我用数组判断的时候为什么无法判断,下面是代码
  String str = "boo:and:foo";
     String [] b=str.split(":");
     if(b[0]=="boo"){
      System.out.println("这个相同哦");
     }
按说应该输出一个"这个相同哦",但是为什么没有输出
作者: li3N    时间: 2015-11-12 10:29
楼主,我拿你的代码试了一次,发现把==改成equals就好了。
貌似可以这么解释,因为==是比较内存地址的,数组中的字符串b[0]位于堆内存,而直接给出的字符串"boo"是位于常量池的,俩内存地址不一样,比较结果是false。字符串这一块确实比较晕,看看楼下大神有没有什么好的解答吧。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2