Java 泛型的使用

2021-09-11 18:35:18 字數 763 閱讀 5816

需求:定義乙個字串集合,要求字串按照長度排序。

在不使用泛型前,我們的**如下。

public class genericdemo 	}}

// 自定義乙個比較器

class stringcomperator implements comparator

}

分析:我們可以觀察到,無論是在迭代器或者比較器,我們都需要進行強制型別轉換,才能訪問其物件。而且,我們只是主觀認為集合中放的就是string物件。這樣做其實是不安全的。當不小心放入集合的物件並不是string型別物件,就會發生classcastexception異常。

增加泛型**如下:

public class genericdemo 	}}

class stringcomperator implements comparator

}

集合增加泛型,限定集合內只能裝string型別物件。當用迭代器方法集合元素的方法,也不需要型別強轉。自定義迭代器物件也是一樣的道理。

我們通過檢視api發現,比較器comparator也是乙個泛型介面。

comparator介面中的compare方法中的引數列表也支援泛型。

Java中泛型 使用

泛型 1.5 之後出現 提高安全 1 泛型 確定 集合容器的型別。2 接收一種資料型別,引用資料型別 arraylistlis new arraylist 目的 將執行時期的 錯誤 轉化到 編譯時期,提高了安全性!3 不需要 強制型別轉換.更加安全!泛型的擦除 泛型在編譯時期使用!使用完畢直接擦除。...

Java泛型使用詳解

一 泛型介面 1 第一種 在子類的定義上也宣告泛型型別。package com.xieke.generics.impl.demo1 inte ce info class infoimplimplements info public void setvar t var override public ...

Java中泛型的各種使用

1.普通的泛型使用 在使用類的時候後面的 中的型別就是我們確定的型別。public class myclass1 public void setvar t var 最普通的泛型使用,只有乙個泛型型別 test public void testmyclass1 和普通的泛型使用基本一樣,只是我們可以在...