溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

實例分析Java泛型

發(fā)布時間:2020-09-21 10:31:06 來源:腳本之家 閱讀:140 作者:彬菌 欄目:編程語言

泛型:即“參數(shù)化類型”,所操作的數(shù)據(jù)類型被指定為一個參數(shù)。該機制允許程序員在編譯時檢測到非法的類型。

不使用泛型與使用泛型的區(qū)別

不使用泛型代碼:

import java.util.ArrayList;
import java.util.List;

public class NoGenerics {
	public static void main(String[] args){
		List arrayList=new ArrayList();
		arrayList.add("1"); //字符類型
		arrayList.add(1); //數(shù)字類型
		
		for(int i=0;i<arrayList.size();i++){
			String s=(String) arrayList.get(i); //強制轉換,但無法轉換為字符類型,且編譯不報錯
			System.out.println(s);
		}
	}
}

使用泛型代碼:

import java.util.ArrayList;
import java.util.List;

public class Generics {
	public static void main(String[] args){
		List<String> stringList = new ArrayList<String>();
		List<Integer> integerList = new ArrayList<>(); //簡化
		
		stringList.add("1");
//		stringList.add(1); //編譯報錯,只能添加字符類型
		
		integerList.add(1);
//		integerList.add("1"); //編譯報錯,只能添加數(shù)字類型
		
		for(int i=0;i<stringList.size();i++){
			String s=stringList.get(i);
			System.out.println(s);
		}
		
		for(int j=0;j<integerList.size();j++){
			int i=integerList.get(j);
			System.out.println(i);
		}
		
	}
}

注意:在jdk版本較高中,List<String> stringList = new ArrayList<String>();可以簡寫為List<String> stringList = new ArrayList<>();

泛型的優(yōu)點:

1、類型安全;例如List<String> 就只能插入String類型,簡單來說就是限制類型。

2、消除強制類型轉換;使得代碼更加可讀,并且減少了出錯機會。

3、潛在的性能收益;泛型為較大的優(yōu)化帶來可能,沒有泛型的話,程序員會指定這些強制類型轉換。

注意:

1、泛型的類型參數(shù)只能是類類型(包括自定義類),不能是簡單類型。例如List<String,Person>

2、泛型的類型參數(shù)可以有多個,例如List<String,Integer>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI