Java String的equals和 的區別

2021-08-17 07:53:20 字數 986 閱讀 2836

先貼**

string s1="abc"+"def"

; string s2=new string(s1);

string s3 = s1;

system.out

.println("s1: "+s1);

system.out

.println("s2: "+s2);

system.out

.println("s3: "+s3);

if(s1 == s2) system.out

.println("===succeed===");

if(s1.equals(s2)) system.out

.println("===equals() succeed===");

if(s1 == s3) system.out

.println("===s3==s1===");

if(s1.equals(s3)) system.out

.println("===s3equals()s1===");

if(s2 == s3) system.out

.println("===s2==s3===");

if(s2.equals(s3)) system.out

.println("===s2equals()s3===");

執行結果:

s1: abcdef

s2: abcdef

s3: abcdef

===equals() succeed===

===s3==s1===

===s3equals()s1===

===s2equals()s3===

因為常量池的存在。而執行時常量池其實是屬於方法區的一部分。s1 和 s3 其實都是都是指向 「abcdef」這個常量。

所以「==」比較的是物件的記憶體位址;

equal:是用來比較兩個物件內部的內容是否相等的。

IntelliJ IDEA如何重寫Equals方法

intellij idea是一款不錯的開發軟體,我們經常在需要重寫equals方法,這裡給大家介紹一下如何重寫equals方法。在類中 處,右鍵單擊選擇generate 然後選擇equals and hashcode 這個選項 然後點選next 然後選擇equals方法需要的字段,可以通過shift...

JAVA string常用的操作

class stringmethoddemo public static void method sub public static void method split public static void method replace public static void method trans...

Java String的常用方法

public char charat int index 返回指定索引處的字元。public int compareto string anotherstring public int comparetoignorecase string str 比較兩個字串的字典順序。比較兩個字串按字典順序,不區...