IT评测·应用市场-qidao123.com

标题: java泛型通配符?及上下界(extends,super)包管安全性、灵活性、可读性 [打印本页]

作者: 北冰洋以北    时间: 2025-3-15 11:16
标题: java泛型通配符?及上下界(extends,super)包管安全性、灵活性、可读性
在 Java 中,泛型通配符(?)用于体现未知类型,通常用于增强泛型的灵活性。通配符可以与上下限联合利用,以限制泛型的范围。以下是通配符及上下限的利用示例:

1. 无界通配符 (?)

无界通配符体现可以接受恣意类型的泛型参数。
  1. public static void printList(List<?> list) {
  2.     for (Object element : list) {
  3.         System.out.println(element);
  4.     }
  5. }
复制代码


2. 上界通配符 (<? extends T>)

上界通配符体现泛型类型必须是 T 或其子类。
  1. public static double sumOfList(List<? extends Number> list) {
  2.     double sum = 0.0;
  3.     for (Number number : list) {
  4.         sum += number.doubleValue();
  5.     }
  6.     return sum;
  7. }
复制代码


3. 下界通配符 (<? super T>)

下界通配符体现泛型类型必须是 T 或其父类。
  1. public static void addNumbers(List<? super Integer> list) {
  2.     list.add(1);
  3.     list.add(2);
  4.     list.add(3);
  5. }
复制代码


4. 上下限通配符的综合利用

上下限通配符通常用于泛型类或方法中,以限制泛型类型的范围。
  1. public static <T> void copy(List<? extends T> src, List<? super T> dest) {
  2.     for (T item : src) {
  3.         dest.add(item);
  4.     }
  5. }
复制代码


总结:

通过公道利用通配符和上下限,可以增强泛型的灵活性,同时包管类型安全。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4