- Java泛型教程
- Java泛型 - 首頁
- Java泛型 - 概述
- Java泛型 - 環境設定
- 示例 - 泛型類
- Java泛型 - 泛型類
- 型別引數命名約定
- Java泛型 - 型別推斷
- Java泛型 - 泛型方法
- Java泛型 - 多個型別引數
- Java泛型 - 引數化型別
- Java泛型 - 原始型別
- 示例 - 有界型別
- 有界型別引數
- Java泛型 - 多重界限
- 示例 - 集合
- Java泛型 - 泛型列表
- Java泛型 - 泛型集合
- Java泛型 - 泛型對映
- 示例 - 萬用字元
- 上界萬用字元
- 泛型 - 無界萬用字元
- 下界萬用字元
- 泛型 - 萬用字元使用指南
- 型別擦除
- Java泛型 - 型別擦除
- Java泛型 - 有界型別擦除
- 無界型別擦除
- Java泛型 - 方法擦除
- 泛型的限制
- Java泛型 - 不允許使用基本型別
- Java泛型 - 不允許例項化靜態成員
- Java泛型 - 不允許靜態欄位
- Java泛型 - 不允許強制型別轉換
- Java泛型 - 不允許使用instanceof
- Java泛型 - 不允許建立泛型陣列
- Java泛型 - 不允許捕獲異常
- Java泛型 - 不允許過載
- Java泛型有用資源
- Java泛型 - 快速指南
- Java泛型 - 有用資源
- Java泛型 - 討論
Java泛型 - 型別推斷
型別推斷是指Java編譯器能夠檢視方法呼叫及其對應的宣告,以檢查並確定型別引數的能力。推斷演算法檢查引數的型別,如果可用,則返回分配的型別。推斷演算法試圖找到一個可以滿足所有型別引數的特定型別。
如果未使用型別推斷,編譯器將生成未經檢查的轉換警告。
語法
Box<Integer> integerBox = new Box<>();
其中
Box − Box是一個泛型類。
<> − 菱形運算子表示型別推斷。
描述
使用菱形運算子,編譯器確定引數的型別。此運算子從Java SE 7版本開始可用。
示例
使用您選擇的任何編輯器建立以下Java程式。
GenericsTester.java
package com.tutorialspoint;
public class GenericsTester {
public static void main(String[] args) {
//type inference
Box<Integer> integerBox = new Box<>();
//unchecked conversion warning
Box<String> stringBox = new Box<String>();
integerBox.add(new Integer(10));
stringBox.add(new String("Hello World"));
System.out.printf("Integer Value :%d\n", integerBox.get());
System.out.printf("String Value :%s\n", stringBox.get());
}
}
class Box<T> {
private T t;
public void add(T t) {
this.t = t;
}
public T get() {
return t;
}
}
這將產生以下結果。
輸出
Integer Value :10 String Value :Hello World
廣告