cari
RumahJavaJavabermula详解Java泛型(知识点总结)

详解Java泛型(知识点总结)

Nov 26, 2019 pm 05:04 PM
javaGenerik

详解Java泛型(知识点总结)

概念

来源:Java在设计开始之前不是通用的,直到它在JDK 1.5中被引入。Java泛型是通过擦除实现的。你知道什么是擦除吗?往下看。

概念:常规类和方法只能使用特定类型;基本类型或自定义类。如果要编写可应用于多种类型代码的代码,这种严格的限制将对代码施加很大的约束。泛型实现了参数化类型的概念,使代码能够应用于多个类型。当泛型在编程语言中出现时,它们的最初目的是希望类和方法具有广泛的表达能力。

【推荐学习:java视频教程

简单的泛型

出现泛型有很多原因,其中最重要的一个原因是创建容器类。我们暂时不指定类型,但决定以后使用什么类型。为了实现这一目标,需要在类名后面使用类型参数,用尖括号括起来。然后,当使用此类时,将用实际类型替换此类型的参数。在下面的示例中,t是类型参数。代码如下:

然而,在许多源代码中,一些泛型类具有多个泛型参数,例如Java。UTIL功能。双功能,有三种类型的参数t,u,r。

泛型方法

泛型方法使方法独立于类。在编写通用代码时,基本的指导原则是尽可能使用通用方法。这意味着,如果可以对整个类使用泛型方法而不是泛型方法,那么可以使用泛型方法,因为它们可以使事情更清楚。此外,对于静态方法,不能访问泛型类的类型参数,因此如果静态方法需要使用泛化功能,则必须将它们变为泛型方法。

泛型的擦除

当我读了Java编程思想的一般章节中的“被删除的奥秘”部分时,我特别头晕,然后当我向下看时,我变得越来越困惑。尤其是当你看边界和通配符的时候,它有点令人困惑。首先看看什么是擦除。在泛型代码中,有关泛型参数类型的信息不可用。Java泛型是通过擦除实现的,这意味着当使用泛型时,任何特定的类型都会被擦除,而您所知道的唯一一件事就是使用对象。由于Java最初没有引入泛型,所以它被设计成与旧版本的JDK兼容。ErAcess是Java通用实现之间的折衷。因此,当您运行时,list与list相同。请注意,它正在运行,但在编译时,list表示此字符串类型的列表容器,list表示当前整数类型的列表容器。例如,来自Java编程思想的例子。

泛型的边界

Java中的泛型,当编译时,T表示一种类型,如果没有指定边界,它就等于对象。我们可以使用extends关键字为泛型指定边界。为了能够调用f(),我们可以在给定泛型类边界的情况下帮助泛型类,告诉编译器必须接受边界后面的类型。这里使用扩展关键字。将上述代码更改为

总结

Java 泛型的特性在很多开源的框架上是用的非常多的。这快需要深入的理解一下,我想随着敲代码的年限上,应该到了后面会有不一样得理解吧。现在通过书上能够知道,理解得就只有这么多了。

本文来自 java入门 栏目,欢迎学习!

Atas ialah kandungan terperinci 详解Java泛型(知识点总结). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:cnblogs. Jika ada pelanggaran, sila hubungi admin@php.cn Padam

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini