泛型及其應用
什麼是泛型
物件建立時不指定類中屬性的具體型別,而由外部在宣告及例項化物件時指定具體型別;
為什麼使用泛型
Object類是一切資料型別的父類,可以接收任何型別的資料,都會發生向上轉型操作。
class Point{
private Object x ; // 表示X座標
private Object y ; // 表示Y座標
public void setX(Object x){
this.x = x ;
}
public void setY(Object y){
this.y = y ;
}
public Object getX(){
return this.x ;
}
public Object getY(){
return this.y ;
}
};
public class GenericsDemo04{
public static void main(String args[]){
Point p = new Point() ; // 宣告一個Point的物件
p.setX(10) ; // 利用自動裝箱操作:int --> Integer --> Object
p.setY("北緯210度") ; // String --> Object
int x = (Integer)p.getX() ; // 取出資料先變為Integer,之後自動拆箱
int y = (Integer)p.getY() ; // 取出資料先變為Integer,之後自動拆箱
System.out.println("整數表示,X座標為:" + x) ;
System.out.println("整數表示,Y座標為:" + y) ;
}
};
程式碼中x,會自動發生裝箱操作,並向上轉型為Object型別,同理y也是。但是在拆箱的時候,y出現型別轉換錯誤。
一方面拆箱裝箱消耗效能。另一方面它不會再編譯時出錯,而是在執行時,因此不安全。
泛型的應用
解決資料型別的安全性問題。在類宣告時通過一個標識表示類中某個屬性的型別或者某個方法的返回值及引數型別。在例項化時指定具體型別即可。
它會將型別錯誤發現在編譯時。
相關文章
- 細說 Java 泛型及其應用Java泛型
- 泛型類、泛型方法及泛型應用泛型
- Java泛型應用淺析Java泛型
- c#——泛型的多種應用C#泛型
- Swift 4 泛型:如何在你的程式碼或App裡應用泛型Swift泛型APP
- .net 2.0 Nullable泛型結構的應用Null泛型
- 泛型的初運用泛型
- Java泛型知識點:泛型類、泛型介面和泛型方法Java泛型
- Ajax及其應用
- 基礎才是重中之重~這時應該用泛型方法了泛型
- 泛型類和泛型方法泛型
- 【java】【泛型】泛型geneticJava泛型
- java泛型之泛型方法。Java泛型
- 泛型--泛型萬用字元和泛型的上下限泛型字元
- TypeScript 泛型介面和泛型類TypeScript泛型
- Go 泛型之泛型約束Go泛型
- java泛型之泛型陣列。Java泛型陣列
- 閉包及其應用
- 泛型泛型
- 泛型最佳實踐:Go泛型設計者教你如何用泛型泛型Go
- 泛型來了,看看如何應用到 slice泛型
- java泛型應該注意的問題。Java泛型
- Java泛型應該注意的細節Java泛型
- Kotlin入門潛修之類和物件篇—泛型及其原理Kotlin物件泛型
- 掃描線及其應用
- 位運算子及其應用
- Hash函式及其應用函式
- 大資料應用廣泛大資料
- 型別 VS 泛型型別泛型
- TypeScript 泛型型別TypeScript泛型型別
- 泛型(一)泛型
- 泛型(三)泛型
- 泛型(二)泛型
- 泛型(四)泛型
- 泛型(五)泛型
- Go 泛型Go泛型
- va泛型泛型
- Java 泛型Java泛型