天天看點

為什麼進階程式員都不用a,mysql常見筆試題

但到了實際開發,情況就複雜的多了,比如Null和空字元串的差別

1.值是Null

========

1.a.equals(b), a 是null, 抛出NullPointException異常。
2.a.equals(b), a不是null, b是null,  傳回false。不會抛出空指針異常。
3.Object.equals(a,b)比較時, 若a 和 b 都是null, 則傳回 true, 如果a 和 b 隻有其中一個是null, 則傳回false。不會抛出空指針異常。
null.equals("abc")    //   抛出 NullPointerException 異常

"abc".equals(null)    //   傳回 false

null.equals(null)     //   抛出 NullPointerException 異常 

           

Objects.equals(null, “abc”)    //   傳回 false

Objects.equals(“abc”,null)     //   傳回 false

Objects.equals(null, null)     //   傳回 true

2.值是空字元串

========



> 1.a.equals(b):a 和 b 如果都是空值字元串:"", 傳回的值是true, 如果a和b其中有一個不是空值字元串,則傳回false;

> 

> 2.Object.equals(a,b):與a.equals(b)相同。



           

“abc”.equals("")    //  傳回 false

“”.equals(“abc”)    //  傳回 false

“”.equals("")       //  傳回 true

3.上源碼

=====



> 找到Objects類的equals方法,注釋其實寫的很清楚。來了解一下



           

public final class Objects {

private Objects() {

throw new AssertionError(“No java.util.Objects instances for you!”);

}

public static boolean equals(Object a, Object b) {

return (a == b) || (a != null && a.equals(b));

}

核心代碼是這句:





### 最後

小編在這裡分享些我自己平時的學習資料,由于篇幅限制,pdf文檔的詳解資料太全面,細節内容實在太多啦,是以隻把部分知識點截圖出來粗略的介紹,每個小節點裡面都有更細化的内容!

**[CodeChina開源項目:【一線大廠Java面試題解析+核心總結學習筆記+最新講解視訊】](https://codechina.csdn.net/m0_60958482/java-p7)**

**程式員代碼面試指南 IT名企算法與資料結構題目最優解**

這是” 本程式員面試寶典!書中對IT名企代碼面試各類題目的最優解進行了總結,并提供了相關代碼實作。針對目前程式員面試缺乏權威題目彙總這一-痛點, 本書選取将近200道真實出現過的經典代碼面試題,幫助廣“大程式員的面試準備做到萬無一失。 “刷”完本書後,你就是“題王”!

![image.png](https://img-blog.csdnimg.cn/img_convert/627a86f20bbea33fd8d34d8b89aa7bcc.png)



**《TCP-IP協定組(第4版)》**

本書是介紹TCP/IP協定族的經典圖書的最新版本。本書自第1版出版以來,就廣受讀者歡迎。

本書最新版進行」護元,以體境計算機網絡技不的最新發展,全書古有七大部分共30草和7個附錄:第一部分介紹一些基本概念和基礎底層技術:第二部分介紹網絡層協定:第三部分介紹運輸層協定;第四部分介紹應用層協定:第五部分介紹下一代協定,即IPv6協定:第六部分介紹網絡安全問題:第七部分給出了7個附錄。

![image.png](https://img-blog.csdnimg.cn/img_convert/d826ff7c0113d974883337f3e746daac.png)


**Java開發手冊(嵩山版)**

這個不用多說了,阿裡的開發手冊,每次更新我都會看,這是8月初最新更新的**(嵩山版)**

![image.png](https://img-blog.csdnimg.cn/img_convert/985ac002ac4212559d72f524b18fa06b.png)

**MySQL 8從入門到精通**

本書主要内容包括MySQL的安裝與配置、資料庫的建立、資料表的建立、資料類型和運算符、MySQL 函數、查詢資料、資料表的操作(插入、更新與删除資料)、索引、存儲過程和函數、視圖、觸發器、使用者管理、資料備份與還原、MySQL 日志、性能優化、MySQL Repl ication、MySQL Workbench、 MySQL Utilities、 MySQL Proxy、PHP操作MySQL資料庫和PDO資料庫抽象類庫等。最後通過3個綜合案例的資料庫設計,進步講述 MySQL在實際工作中的應用。

![image.png](https://img-blog.csdnimg.cn/img_convert/8ea5b7943108eb6548ba45d25c63e12e.png)


**Spring5進階程式設計(第5版)**

本書涵蓋Spring 5的所有内容,如果想要充分利用這一領先的企業級 Java應用程式開發架構的強大功能,本書是最全面的Spring參考和實用指南。

本書第5版涵蓋核心的Spring及其與其他領先的Java技術(比如Hibemate JPA 2.Tls、Thymeleaf和WebSocket)的內建。本書的重點是介紹如何使用Java配置類、lambda 表達式、Spring Boot以及反應式程式設計。同時,将與企業級應用程式開發人員分享一些見解和實際經驗,包括遠端處理、事務、Web 和表示層,等等。

![image.png](https://img-blog.csdnimg.cn/img_convert/3f28e09df49dc2b8003475f050e01881.png)


**JAVA核心知識點+1000道 網際網路Java工程師面試題**

![image.png](https://img-blog.csdnimg.cn/img_convert/686a012c02716c66ccced32bd3e0323c.png)


![image.png](https://img-blog.csdnimg.cn/img_convert/867344f684fa79577a6451e4d09371e6.png)


**企業IT架構轉型之道 阿裡巴巴中台戰略思想與架構實戰**

本書講述了阿裡巴巴的技術發展史,同時也是-部網際網路技 術架構的實踐與發展史。

心知識點+1000道 網際網路Java工程師面試題**

[外鍊圖檔轉存中...(img-X8r9Gekv-1630938606636)]


[外鍊圖檔轉存中...(img-Mb7nEUF2-1630938606637)]


**企業IT架構轉型之道 阿裡巴巴中台戰略思想與架構實戰**

本書講述了阿裡巴巴的技術發展史,同時也是-部網際網路技 術架構的實踐與發展史。

![image.png](https://img-blog.csdnimg.cn/img_convert/6d83300ac2e2c9739c1b2cce3821a4a3.png)