码迷,mamicode.com
首页 > 编程语言 > 详细

Java 字符串比较(2)

时间:2017-07-06 15:10:09      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:==   通过   test   aaa   als   字符串比较   stat   aabb   ati   

public class Test2 {
public static void main(String[] args) {
String a = "aaa";
String b = "bbb";
String c = "aaa" + "bbb";
String d = "aaabbb";
String e = a + b;
String f = "aaa" + b;
String g = a + "bbb";

System.out.println("c == d:" + (c == d));
System.out.println("c == e:" + (c == e));
System.out.println("c == f:" + (c == f));
System.out.println("c == g:" + (c == g));

System.out.println("c equals d:" + (c.equals(d)));
System.out.println("c equals e:" + (c.equals(e)));
System.out.println("c equals f:" + (c.equals(f)));
System.out.println("c equals g:" + (c.equals(g)));
}
}

控制台输出:

c == d:true
c == e:false
c == f:false
c == g:false
c equals d:true
c equals e:true
c equals f:true
c equals g:true

关键:两个匿名String对象通过“+“连接的话,会直接指向拼接后的堆内存地址,所以c==d。

匿名String对象与String实例对象通过“+”连接的话,不会做类似操作,所以后面3中都返回false。

 

Java 字符串比较(2)

标签:==   通过   test   aaa   als   字符串比较   stat   aabb   ati   

原文地址:http://www.cnblogs.com/HappyEveryDay9013/p/7126279.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!