DAY10
準備:下載API手冊
學習的大前提:
API是一些預先設定好的函式/介面,所以學習的重點應該是先使用,先學習它們的使用方式和效果
查詢API手冊的目的:為了明白對應的方法怎么使用
比如:這個方法需不需要傳引數,傳什么型別的引數,這個方法的回傳值型別是什么
Object頂級父類
- Object是所有類的超類,java中的所有類都直接或者間接的繼承自Object
- 如果一個類沒有明確指定父類,那么這個類會默認繼承Object類
- Object所處的包是java.lang.Object,這個包是Java的核心包,不需要導包,會自動導包
Object類中的常用方法
toString(): 回傳這個物件對應的字串
重寫之前:列印的是地址值
重寫之后:重寫之后的效果取決于你怎么重寫的
重寫后:自定義物件自動添加重寫的toString()列印的物件的型別+屬性名+屬性值
hashCode(): 回傳對應物件的哈希碼值
- 同一個物件多次呼叫這個方法,回傳的是同一個哈希碼值
- 不同的物件呼叫這個方法,應該回傳不同的哈希碼值
- equals()與hashCode()應該保持一致,要重寫都重寫,要不重寫都不重寫
equals():比較當前物件與引數物件是否"相等"
重寫之前:比較的是通過 等等 比較的,等等比較的是值,如果是參考型別(比如我們自定義類Stundet),比較的就是物件名,也就是參考型別變數保存的地址值
如果是基本型別,直接比較的就是基本型別保存的資料值
重寫之后:重寫之后的效果取決于你怎么重寫的
重寫后:自定義物件自動添加重寫的equals()比較的是物件的型別+屬性名+屬性值
String
- 底層結構是char[]
- char[] values={‘a’,‘b’,‘c’}; String s = new String(value);
- String s = “abc”;有高效的效果,因為資料在堆中常量池
- 常用方法測驗:18個
StringBuilder/StringBuffer
- 前提:String型別的資料使用+拼接效率比較低
- StringBuilder sb = new StringBuilder(); StringBuffer sb2 = new StringBuffer();
- sb.append()拼接方法效率比較高
正則運算式
- 就是我們指定的規則:String regex = “[0-9]{17}[0-9X]”;
- 拿用戶輸入的資料做比較:input.metches(regex)–>如果匹配,回傳true
包裝類
== 基本型別只能存值,提供豐富功能的是基本型別對應的包裝類==
- 基本型別與包裝型別的對應關系

- Integer有一個高效的效果:Integer valueOf() -128~127
- 創建方式:Integer i1 = new Integer(4); Integer i1 = Integer.valueOf(4);
自動裝箱與自動拆箱
自動裝箱:
編譯器會自動把基本型別int5,包裝成包裝型別Integer
然后交給Integer型別的參考型別變數i3來保存
自動裝底層發生的代碼:Integer.valueOf(5)
valueOf()的方向:int–>Integer
自動拆箱:
編譯器會自動把包裝型別的i1拆掉”箱子“,變回基本型別的資料127
然后交給基本型別int的變數i4來保存
自動拆箱底層發生的代碼:i1.intValue();
intValue()的方向:Integer-> int
package cn.tedu.api;
/*本類用于測驗自動裝箱與自動拆箱*/
public class TestNumber2 {
public static void main(String[] args) {
//1.定義包裝型別的資料
Integer i1 = new Integer(127);
Integer i2 = Integer.valueOf(127);
//2.現在的方式:
Integer i3 = 5;//不會報錯,這個現象就是自動裝箱
int i4 = i1;//不會報錯,這個現象就是自動拆箱
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/293600.html
標籤:java
