概念
來源:Java在設計開始之前不是通用的,直到它在JDK 1.5中被引入。 Java泛型是透過擦除實現的。你知道什麼是擦除嗎?往下看。
概念:常規類別和方法只能使用特定類型;基本類型或自訂類別。如果要編寫可應用於多種類型程式碼的程式碼,這種嚴格的限制將對程式碼施加很大的約束。泛型實現了參數化類型的概念,使程式碼能夠應用於多個類型。當泛型在程式語言中出現時,它們的最初目的是希望類別和方法具有廣泛的表達能力。
【推薦學習:java影片教學】
簡單的泛型
出現泛型有很多原因,其中最重要的原因之一是建立容器類別。我們暫時不指定類型,但決定以後要使用什麼類型。為了實現這個目標,需要在類別名稱後面使用類型參數,並用尖括號括起來。然後,當使用此類時,將用實際類型替換此類型的參數。在下面的範例中,t是類型參數。程式碼如下:
然而,在許多原始程式碼中,有些泛型類別具有多個泛型參數,例如Java。 UTIL功能。雙功能,有三種類型的參數t,u,r。
泛型方法
泛型方法使方法獨立於類別。在編寫通用程式碼時,基本的指導原則是盡可能使用通用方法。這意味著,如果可以對整個類別使用泛型方法而不是泛型方法,那麼可以使用泛型方法,因為它們可以使事情更清楚。此外,對於靜態方法,不能存取泛型類別的類型參數,因此如果靜態方法需要使用泛化功能,則必須將它們變為泛型方法。
泛型的擦除
當我讀了Java程式設計思想的一般章節中的「被刪除的奧秘」部分時,我特別頭暈,然後當我向下看時,我變得越來越困惑。尤其是當你看邊界和通配符的時候,它有點令人困惑。首先看看什麼是擦除。在泛型程式碼中,有關泛型參數類型的資訊不可用。 Java泛型是透過擦除實現的,這意味著當使用泛型時,任何特定的類型都會被擦除,而您所知道的唯一一件事就是使用物件。由於Java最初沒有引入泛型,所以它被設計成與舊版本的JDK相容。 ErAcess是Java通用實作之間的折衷。因此,當您運行時,list
泛型的邊界
Java中的泛型,當編譯時,T表示一種類型,如果沒有指定邊界,它就等於對象。我們可以使用extends關鍵字為泛型指定邊界。為了能夠呼叫f(),我們可以在給定泛型類別邊界的情況下幫助泛型類,告訴編譯器必須接受邊界後面的類型。這裡使用擴充關鍵字。將上述程式碼變更為
總結
Java 泛型的特性在許多開源的框架上是用的非常多的。這快需要深入的理解一下,我想隨著敲程式碼的年限上,應該到了後面會有不一樣得理解吧。現在透過書上能夠知道,理解得就只有這麼多了。
本文來自 java入門 欄目,歡迎學習!
以上是詳解Java泛型(知識點總結)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于结构化数据处理开源库SPL的相关问题,下面就一起来看一下java下理想的结构化数据处理类库,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于PriorityQueue优先级队列的相关知识,Java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列,PriorityQueue是线程不安全的,PriorityBlockingQueue是线程安全的,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于java锁的相关问题,包括了独占锁、悲观锁、乐观锁、共享锁等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于多线程的相关问题,包括了线程安装、线程加锁与线程不安全的原因、线程安全的标准类等等内容,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于枚举的相关问题,包括了枚举的基本操作、集合类对枚举的支持等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Java的相关知识,其中主要介绍了关于关键字中this和super的相关问题,以及他们的一些区别,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于平衡二叉树(AVL树)的相关知识,AVL树本质上是带了平衡功能的二叉查找树,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Java的相关知识,其中主要整理了Stream流的概念和使用的相关问题,包括了Stream流的概念、Stream流的获取、Stream流的常用方法等等内容,下面一起来看一下,希望对大家有帮助。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SublimeText3 Linux新版
SublimeText3 Linux最新版