java 泛型知识点以及使用

35 阅读1分钟

Java中的泛型是指在定义类、接口和方法时使用类型参数,这些类型参数可以在类、接口或方法使用时被替换为实际的类型。泛型可以使代码更加通用和类型安全。

以下是Java泛型的一些知识点和用法:

  1. 类型参数:泛型定义中使用的占位符,可以在类、接口或方法中用来表示任意类型。
  2. 泛型类:定义时使用类型参数的类。
csharpCopy code
public class MyClass<T> {
    private T value;
    public MyClass(T value) {
        this.value = value;
    }
    public T getValue() {
        return value;
    }
}
  1. 泛型接口:定义时使用类型参数的接口。
csharpCopy code
public interface MyInterface<T> {
    public void doSomething(T param);
}
  1. 泛型方法:定义时使用类型参数的方法。
typescriptCopy code
public static <T> T myMethod(T arg) {
    return arg;
}
  1. 类型限定:可以通过 extends 关键字来限定泛型的类型范围。
csharpCopy code
public class MyClass<T extends Number> {
    private T value;
    public MyClass(T value) {
        this.value = value;
    }
    public T getValue() {
        return value;
    }
}
  1. 通配符:使用 ? 表示未知类型,可以用来接受任意类型的参数。
typescriptCopy code
public void myMethod(List<?> list) {
    // ...
}
  1. 泛型类的实例化:在创建泛型类的实例时,需要指定类型参数的具体类型。
vbnetCopy code
MyClass<String> myClass = new MyClass<>("Hello");
  1. 泛型方法的调用:在调用泛型方法时,可以自动推断类型参数的类型,也可以显式指定类型参数的类型。
vbnetCopy code
String result = MyClass.<String>myMethod("Hello");

以上是Java泛型的一些常用知识点和用法,使用泛型可以使代码更加通用和类型安全。