亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
概念
簡(jiǎn)單的泛型
泛型方法
泛型的擦除
泛型的邊界
總結(jié)
首頁(yè) Java Java入門(mén) 詳解Java泛型(知識(shí)點(diǎn)總結(jié))

詳解Java泛型(知識(shí)點(diǎn)總結(jié))

Nov 26, 2019 pm 05:04 PM
java 泛型

詳解Java泛型(知識(shí)點(diǎn)總結(jié))

概念

來(lái)源:Java在設(shè)計(jì)開(kāi)始之前不是通用的,直到它在JDK 1.5中被引入。 Java泛型是透過(guò)擦除實(shí)現(xiàn)的。你知道什麼是擦除嗎?往下看。

概念:常規(guī)類別和方法只能使用特定類型;基本類型或自訂類別。如果要編寫(xiě)可應(yīng)用於多種類型程式碼的程式碼,這種嚴(yán)格的限制將對(duì)程式碼施加很大的約束。泛型實(shí)現(xiàn)了參數(shù)化類型的概念,使程式碼能夠應(yīng)用於多個(gè)類型。當(dāng)泛型在程式語(yǔ)言中出現(xiàn)時(shí),它們的最初目的是希望類別和方法具有廣泛的表達(dá)能力。

【推薦學(xué)習(xí):java影片教學(xué)

簡(jiǎn)單的泛型

出現(xiàn)泛型有很多原因,其中最重要的原因之一是建立容器類別。我們暫時(shí)不指定類型,但決定以後要使用什麼類型。為了實(shí)現(xiàn)這個(gè)目標(biāo),需要在類別名稱後面使用類型參數(shù),並用尖括號(hào)括起來(lái)。然後,當(dāng)使用此類時(shí),將用實(shí)際類型替換此類型的參數(shù)。在下面的範(fàn)例中,t是類型參數(shù)。程式碼如下:

然而,在許多原始程式碼中,有些泛型類別具有多個(gè)泛型參數(shù),例如Java。 UTIL功能。雙功能,有三種類型的參數(shù)t,u,r。

泛型方法

泛型方法使方法獨(dú)立於類別。在編寫(xiě)通用程式碼時(shí),基本的指導(dǎo)原則是盡可能使用通用方法。這意味著,如果可以對(duì)整個(gè)類別使用泛型方法而不是泛型方法,那麼可以使用泛型方法,因?yàn)樗鼈兛梢允故虑楦宄4送?,?duì)於靜態(tài)方法,不能存取泛型類別的類型參數(shù),因此如果靜態(tài)方法需要使用泛化功能,則必須將它們變?yōu)榉盒头椒ā?

泛型的擦除

當(dāng)我讀了Java程式設(shè)計(jì)思想的一般章節(jié)中的「被刪除的奧秘」部分時(shí),我特別頭暈,然後當(dāng)我向下看時(shí),我變得越來(lái)越困惑。尤其是當(dāng)你看邊界和通配符的時(shí)候,它有點(diǎn)令人困惑。首先看看什麼是擦除。在泛型程式碼中,有關(guān)泛型參數(shù)類型的資訊不可用。 Java泛型是透過(guò)擦除實(shí)現(xiàn)的,這意味著當(dāng)使用泛型時(shí),任何特定的類型都會(huì)被擦除,而您所知道的唯一一件事就是使用物件。由於Java最初沒(méi)有引入泛型,所以它被設(shè)計(jì)成與舊版本的JDK相容。 ErAcess是Java通用實(shí)作之間的折衷。因此,當(dāng)您運(yùn)行時(shí),list與list相同。請(qǐng)注意,它正在運(yùn)行,但在編譯時(shí),list表示此字串類型的列表容器,list表示當(dāng)前整數(shù)類型的列表容器。例如,來(lái)自Java程式設(shè)計(jì)思想的例子。

泛型的邊界

Java中的泛型,當(dāng)編譯時(shí),T表示一種類型,如果沒(méi)有指定邊界,它就等於對(duì)象。我們可以使用extends關(guān)鍵字為泛型指定邊界。為了能夠呼叫f(),我們可以在給定泛型類別邊界的情況下幫助泛型類,告訴編譯器必須接受邊界後面的類型。這裡使用擴(kuò)充關(guān)鍵字。將上述程式碼變更為

總結(jié)

Java 泛型的特性在許多開(kāi)源的框架上是用的非常多的。這快需要深入的理解一下,我想隨著敲程式碼的年限上,應(yīng)該到了後面會(huì)有不一樣得理解吧?,F(xiàn)在透過(guò)書(shū)上能夠知道,理解得就只有這麼多了。

本文來(lái)自?java入門(mén)?欄目,歡迎學(xué)習(xí)!

以上是詳解Java泛型(知識(shí)點(diǎn)總結(jié))的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門(mén)話題

Laravel 教程
1597
29
PHP教程
1488
72
VSCODE設(shè)置。 JSON位置 VSCODE設(shè)置。 JSON位置 Aug 01, 2025 am 06:12 AM

settings.json文件位於用戶級(jí)或工作區(qū)級(jí)路徑,用於自定義VSCode設(shè)置。 1.用戶級(jí)路徑:Windows為C:\Users\\AppData\Roaming\Code\User\settings.json,macOS為/Users//Library/ApplicationSupport/Code/User/settings.json,Linux為/home//.config/Code/User/settings.json;2.工作區(qū)級(jí)路徑:項(xiàng)目根目錄下的.vscode/settings

如何使用JDBC處理Java的交易? 如何使用JDBC處理Java的交易? Aug 02, 2025 pm 12:29 PM

要正確處理JDBC事務(wù),必須先關(guān)閉自動(dòng)提交模式,再執(zhí)行多個(gè)操作,最後根據(jù)結(jié)果提交或回滾;1.調(diào)用conn.setAutoCommit(false)以開(kāi)始事務(wù);2.執(zhí)行多個(gè)SQL操作,如INSERT和UPDATE;3.若所有操作成功則調(diào)用conn.commit(),若發(fā)生異常則調(diào)用conn.rollback()確保數(shù)據(jù)一致性;同時(shí)應(yīng)使用try-with-resources管理資源,妥善處理異常並關(guān)閉連接,避免連接洩漏;此外建議使用連接池、設(shè)置保存點(diǎn)實(shí)現(xiàn)部分回滾,並保持事務(wù)盡可能短以提升性能。

在Java的掌握依賴注入春季和Guice 在Java的掌握依賴注入春季和Guice Aug 01, 2025 am 05:53 AM

依賴性(di)IsadesignpatternwhereObjectsReceivedenciesenciesExtern上,推廣looseSecouplingAndEaseerTestingThroughConstructor,setter,orfieldInjection.2.springfraMefringframeWorkSannotationsLikeLikeLike@component@component,@component,@service,@autowiredwithjava-service和@autowiredwithjava-ligatiredwithjava-lase-lightike

如何使用Java的日曆? 如何使用Java的日曆? Aug 02, 2025 am 02:38 AM

使用java.time包中的類替代舊的Date和Calendar類;2.通過(guò)LocalDate、LocalDateTime和LocalTime獲取當(dāng)前日期時(shí)間;3.使用of()方法創(chuàng)建特定日期時(shí)間;4.利用plus/minus方法不可變地增減時(shí)間;5.使用ZonedDateTime和ZoneId處理時(shí)區(qū);6.通過(guò)DateTimeFormatter格式化和解析日期字符串;7.必要時(shí)通過(guò)Instant與舊日期類型兼容;現(xiàn)代Java中日期處理應(yīng)優(yōu)先使用java.timeAPI,它提供了清晰、不可變且線

了解Java虛擬機(jī)(JVM)內(nèi)部 了解Java虛擬機(jī)(JVM)內(nèi)部 Aug 01, 2025 am 06:31 AM

TheJVMenablesJava’s"writeonce,runanywhere"capabilitybyexecutingbytecodethroughfourmaincomponents:1.TheClassLoaderSubsystemloads,links,andinitializes.classfilesusingbootstrap,extension,andapplicationclassloaders,ensuringsecureandlazyclassloa

Google Chrome無(wú)法打開(kāi)本地文件 Google Chrome無(wú)法打開(kāi)本地文件 Aug 01, 2025 am 05:24 AM

ChromecanopenlocalfileslikeHTMLandPDFsbyusing"Openfile"ordraggingthemintothebrowser;ensuretheaddressstartswithfile:///;2.SecurityrestrictionsblockAJAX,localStorage,andcross-folderaccessonfile://;usealocalserverlikepython-mhttp.server8000tor

比較Java框架:Spring Boot vs Quarkus vs Micronaut 比較Java框架:Spring Boot vs Quarkus vs Micronaut Aug 04, 2025 pm 12:48 PM

前形式攝取,quarkusandmicronautleaddueTocile timeProcessingandGraalvSupport,withquarkusoftenpernperforminglightbetterine nosserless notelless centarios.2。

了解網(wǎng)絡(luò)端口和防火牆 了解網(wǎng)絡(luò)端口和防火牆 Aug 01, 2025 am 06:40 AM

NetworkPortSandFireWallsworkTogetHertoEnableCommunication whereSeringSecurity.1.NetWorkPortSareVirtualendPointSnumbered0-655 35,with-Well-with-Newonportslike80(HTTP),443(https),22(SSH)和25(smtp)sindiessingspefificservices.2.portsoperateervertcp(可靠,c

See all articles