马士兵java架构师

您现在的位置是:java学习笔记 >

java学习笔记

JAVA 基本语法中<>什么意思?表示泛型!

2023-11-15 16:35:33java学习笔记 本文浏览次数:1 百度已收录

本 文 目 录

在JAVA基本语法中,<>符号通常用于表示泛型。但是可能大家在书籍里面也看到过类似:class <类>,这样的描述。书本上这样的的描述是为了方便理解。<>包裹的表示不可省略,自定义的,内容。并不具备java中的语法。如下图:

JAVA 基本语法中<>什么意思?表示泛型

泛型 (Generics) <> 的概念和用途

泛型是Java提供的一种机制。
允许在定义类、接口和方法时使用类型参数。
可以创建一个适用于多种数据类型的代码,而不用为每种数据类型重复编写代码。
在编译时提供类型安全检测,避免了运行时的类型转换错误。

代码很抽象,具体看看<>如何使用泛型

使用<T>标记来表示泛型,其中T类型参数。例如:

解释:`类型参数`的类型,实际上它是可以代表任何数据类型的。例如,在定义一个泛型类时,可以用T作为类型参数,这个T可以代表Integer、String或者其他任何数据类型。当创建这个泛型类的实例时,才确定T具体的类型。
public class Box<T> {
    private T t;

    public void set(T t) {
        this.t = t;
    }

    public T get() {
        return t;
    }
}

在这个例子中,T是一个类型参数,代表着任何类型。你可以用Box类来存储任何类型的数据,而不用重复定义多个Box类。

Box<Integer> integerBox = new Box<Integer>();
Box<String> stringBox = new Box<String>();

integerBox.set(new Integer(10));
stringBox.set(new String("Hello World"));

System.out.printf("整数值为 :%d\n\n", integerBox.get());
System.out.printf("字符串为 :%s\n", stringBox.get());
这段代码创建了两个不同类型的`Box`:
一个用于Integer,一个用于String。
这表明了使用泛型的主要优点:你可以写一段代码来处理不同类型的对象,而不用为每种类型重复代码。

注意:泛型的类型参数名称只能是单个大写字母。

习惯上常用的类型参数名称有:

E - Element (在集合中使用,因为集合中存放的是元素);
T - Type(Java 类型);
K - Key(键);
V - Value(值);
N - Number(数值类型);
S、U、V 等。

这些都属于约定俗成的用法,你可以用任何名称,但最好遵循这个习惯。