java面試(一) 與 區別

2021-07-22 22:06:59 字數 578 閱讀 2764

今天看了寶典直接卡在基礎第二題了「說說&和&&的區別」:

例如,對於if(str != null && !str.equals(「」))表示式,當str為null時,後面的表示式不會執行,所以不會出現nullpointerexception如果將&&改為&,則會丟擲nullpointerexception異常。看到這裡我就懵了!

把&&換成&if裡的判斷條件不還是false嗎?不會執行if裡的語句了啊,那為什麼還是會報nullpointerexception錯誤呢?

原來是str.equals(「」)報出來的異常,恍然大悟啊!因此我也知道了為什麼通常這樣寫了「12」.equals(str),就是避免空指標異常,學到了!

那麼疑問又來了,str==null和「」.equals(str)有什麼區別?可以看看這個

string str1 = null; str引用為空

string str2 = 「」; str引用為空串

直接點就是null沒有分配記憶體空間,而」「分配了記憶體空間,因此str1還不是乙個例項化的物件,而str2已經例項化。

然後疑惑又來了,string型別在記憶體中是怎樣的存在呢?寫的很清楚

java基礎面試(一)

1 物件 例項區別物件 例項表現形式同類事物的一種抽象表現形式 物件的具體化 比擬乙個模型 最終產品 記憶體記憶體儲存在堆 中儲存在棧中 例項化乙個物件可以例項化很多例項 物件的乙個引用,指向物件的指標 人類是類,某個人是物件,我是例項。string 類 string str str是物件 stri...

Java 與 的區別

學習中一些容易混淆的概念,記錄一下,方便自己,也方便他人。和 都是用來做 與 運算的,當運算子兩邊的表示式都為 true 時,結果才為 true 只要有一方為 false 結果就為false。在 名稱 上,一般把 叫做 邏輯與 叫做 短路與 不知道老外有沒有更好的 專業 的叫法,其實都是邏輯 與 操...

TCP與UDP區別(面試)

1.1 tcp的優點 可靠,穩定。tcp的可靠體現在tcp在傳遞資料之前,會有三次握手來建立連線,而且在資料傳遞時,有確認 視窗 重傳 擁塞控制機制,在資料傳完後,還會斷開連線用來節約系統資源。1.2 tcp的缺點 慢,效率低,占用系統資源高,易被攻擊。tcp在傳遞資料之前,要先建連線,這會消耗時間...