DAY 11 復習
學習API階段的前提:
- API是一些別人制定或者寫好的應用程式介面/功能
- 學習的重點:學習這些功能如何更好的使用,怎么使用,使用后有什么效果
- 比如:怎么創建某個類的物件–看構造方法
怎么使用某個功能–需不需要傳引數,傳什么樣的引數 - 比如:這個方法有什么樣的結果/執行效果:結果看回傳值型別,效果要在IDEA去嘗試
- 所以我們可以把API手冊當成一個“字典”,哪里不會查哪里
1. 頂級父類 java.lang.Object
- Object是Java中所有類的超類,Java中的類都直接或者間接的繼承自Object
- 如果一個類沒有明確的指定父類,那么這個類默認繼承Object
- java.lang包是Java的核心包,無需導包,會自動匯入
1.1 hashCode()
hashCode() : 回傳物件對應的哈希碼值
默認實作方式:根據物件的地址值生成對應的哈希碼值
1.2 toString()
toString():回傳物件對應的字串
默認實作方式:回傳物件的包名.類名@十六進制的哈希碼值
1.3 equals()
equals():比較當前物件與引數物件是否相等
默認實作方式:==比較兩個物件的地址值,地址值不同就回傳false
注意:需要牢記Object中的默認實作方式,后續遇到的類,只要與Object中默認的實作方式不同,說明發生了重寫,具體重寫的效果每個類都是不同的,遇到哪個,積累哪個
1.4 自定義類Student
添加了重寫的方法后,重寫的效果
- hashCode(): 根據傳入的當前物件的屬性值生成
- toString(): 列印當前物件的型別+屬性+屬性值
- equals() : 比較兩個物件的型別+屬性+屬性值
1.5 拓展
查找類的4種方式:
- 查API手冊 點這里:API手冊使用指導
- 連點兩下Shift打開IDEA的搜索,注意勾選"include non-Project items",再搜Object
- 按住Ctrl點hashCode()
- 在拓展庫External Libraries找到jdk1.8->rt.jar->java.lang.Object
2 String 類
- 底層的結構是字符陣列char[ ]
- String的常用方法
String API總結
int hashCode() 回傳此字串的哈希碼,
boolean equals(Object anObject) 將此字串與指定的物件比較,比較的是重寫后的串的具體內容
String toString() 回傳此物件本身(它已經是一個字串!),
int length() 回傳此字串的長度,
String toUpperCase() 所有字符都轉換為大寫,
String toLowerCase() 所有字符都轉換為小寫
boolean startsWith(String prefix) 測驗此字串是否以指定的元素開頭,
boolean endsWith(String suffix) 測驗此字串是否以指定的字串結束,
char charAt(int index) 回傳指定索引/下標處的 char 值/字符
int indexOf(String str) 回傳指定字符在此字串中第一次出現處的索引,
int lastIndexOf(String str) 回傳指定字符在此字串中最后一次出現處的索引,
String concat(String str) 將指定字串連接/拼接到此字串的結尾,注意:不會改變原串
String[] split(String regex) 根據給定元素來分隔此字串,
String trim() 回傳去除首尾空格的字串
byte[] getBytes() 把字串存盤到一個新的 byte 陣列中
String substring(int beginIndex) 回傳一個新子串,從指定下標處開始,包含指定下標
String substring(int beginIndex, int endIndex) 回傳一個新子串,從執定下標開始,到結束下標為止,但不包含結束下標
static String valueOf(int i) 把int轉成String
3 String的創建方式
方式一:
char[] values = {‘a’,‘b’,‘c’};
String s1 = new String(value);
注意:每new一次,創建一個String物件,存在堆中
方式二:
String s = “abc”;
注意:存在堆中的常量池中,有高效的效果,如果是第二次創建,不會新建
注意:== 比較的如果是參考型別,那么是地址值
注意:String重寫了Object中的toString(),所以可以直接列印字串的具體內容
String重寫了Object中的equals(),所以比較的也是兩個字串的具體內容
String重寫了Object中的hashCode(),根據字串的具體內容生成
4. 正則運算式
作用: 拿著我們指定好的規則,去判斷資料是否符合這個規則
- 指定規則:String regex = “[0-9]{17}[0-9X]”;
- 拿著資料與規則做比較:input.matches(regex)–>如果匹配,matches方法回傳true
注意:單個斜杠表示轉義字符,所以在正則中如果想要表示單個斜杠,需要寫雙斜杠
至于正則運算式的對照關系,詳見筆記中正則速查表

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/356799.html
標籤:java
上一篇:備戰一年,終于斬獲騰訊T3,老子一定有美好的未來...
下一篇:REST
