Java 字符串比较

Posted 始于2019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 字符串比较相关的知识,希望对你有一定的参考价值。

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 字符串比较的主要内容,如果未能解决你的问题,请参考以下文章

java中两个字符串如何比较大小

java中如何比较两个时间字符串的大小

java中两个字符串如何比较大小?

为啥JAVA不可以用“==”来比较两个字符串是不是相等?

java中的字符串比较方法

Java 字符串比较