首页 >Java >java教程 >Java泛型的用法

Java泛型的用法

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌原创
2024-01-26 15:05:25712浏览

Java泛型主要有“定义泛型类”、“定义泛型接口”、“定义泛型方法”、”实例化泛型类或接口“、“使用通配符”和“使用泛型限定”六种用法:1、定义一个泛型类,使用来表示类型参数;2、定义一个泛型接口,使用来表示类型参数;3、定义一个泛型方法,使用来表示类型参数;4、在实例化一个泛型类或接口时,指定具体的类型参数;5、使用通配符来表示某个泛型类型的子类型或超类型。

Java泛型的用法

Java泛型主要有以下几种用法:

  1. 定义泛型类

可以定义一个泛型类,使用来表示类型参数,例如:

public class MyList<T> {
    private T[] array;

    public MyList(T[] array) {
        this.array = array;
    }

    public T get(int index) {
        return array[index];
    }
}
  1. 定义泛型接口

可以定义一个泛型接口,使用来表示类型参数,例如:

public interface MyInterface<T> {
    T doSomething();
}
  1. 定义泛型方法

可以定义一个泛型方法,使用来表示类型参数,例如:

public <T> T doSomething(T param) {
    // ...
}
  1. 实例化泛型类或接口

在实例化一个泛型类或接口时,必须指定具体的类型参数,例如:

MyList<String> list = new MyList<>(new String[]{"a", "b", "c"});
  1. 使用通配符

可以使用通配符来表示某个泛型类型的子类型或超类型,包括?、? extends T和? super T三种形式,例如:

MyList<? extends Number> list1 = new MyList<>(new Integer[]{1, 2, 3});
MyList<? super Integer> list2 = new MyList<>(new Number[]{1.0, 2.0, 3.0});

其中,list1可以接受任何类型是Number的子类型(如Integer、Float等)作为元素,而list2可以接受任何类型是Integer的超类型(如Number、Object等)作为元素。

  1. 使用泛型限定

可以使用泛型限定来限制类型参数的范围,包括extends和super两种形式,例如:

public <T extends Number> void doSomething(T param) {
    // ...
}

其中,表示类型参数T必须是Number的子类型。

以上是Java泛型的用法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn