java中兩種比較方式 和equals

2021-09-23 14:19:29 字數 1601 閱讀 1394

##兩種比較 ==和equals()方法 ##

integer s = new integer(9)

integer t = new integer(9)

long u = new long(9)

****************************************====

integer a =1000 ,integer b = 1000

integer c = 100 ,integer d = 100

****************************************====

string s = "hello"

sring t ="hello"

string r = new string("hello");

***equals方法 ***

public boolean equals(object obj)

return false;

}

integer型別和long型別,兩種不同型別的引用不能進行**==**比較。

基本資料型別之間沒有equals()方法。

int a =1 ,int b =1 。

a==b正確

a.equals(b)沒有這種比較。

new integer()和int比較,integer會自動拆箱,==和equals()均為true

s.equals(9),true

s==9,true

new integr()和new integr(),比較==為false,equals()為ture

s==t,false

s.equals(t),true 同理 s.equals(new integer(9)),true

integerinteger比較,由於直接賦值會自動裝箱。

(1)值在[-128,127]之間時,不會建立新的integer物件,而是直接從快取integercache中獲取建立好的integer物件

c.equals(d)結果為true

(2)大於這個區間,則會new新的integer

a.equals(b)比較結果為false

6.==比較兩個記憶體位址是否相同,相同為true,不同為false。

equals()比較字串內容是否相同,相同為true。

(1)在字元緩衝池中,若已有字串,則直接賦值不需要再建立乙個字串。

s == t,true

(2)若果new建立了乙個新的字串。

此時位址不同:s ==r,false

字串內容相同的話,s.equals( r ),true

Java執行緒的兩種建立方式及優劣比較

1 通過實現runnable介面執行緒建立 1 定義乙個類實現runnable介面,重寫介面中的run 方法。在run 方法中加入具體的任務 或處理邏輯。2 建立實現runnable介面的類的物件。3 建立乙個thread類的物件,需要封裝前面runnable介面實現類的物件。介面可以實現多繼承 4...

Java中建立String的兩種方式

建立乙個string型別的變數一般有兩種方法,如下 public class test 那麼為什麼會存在這兩種建立方式呢,它們在記憶體中的表現形式各有什麼區別?第一種情況 建立的str1,str2兩個字串,和equals比較返回都為true,這是因為str1,str2都指向了方法區的同乙個字串。所以...

java分頁的兩種方式

方式其實都非常的簡單,一種是資料庫分頁用limit限制取出條數,一種是在業務邏輯裡面分頁,我用的是jdbc,所以每次游標指定到一定的條數進行展示。因為只是簡單的進行原理學習,所以並沒有對 方面對嚴格的書寫,明白原理就好。主要的地方就是在進行資料庫查詢的時候,假設有一張表flownode,sql語句如...