欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

java泛型约束_JAVA泛型 - 约束与局限性

发布时间:2025/3/20 64 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java泛型约束_JAVA泛型 - 约束与局限性 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

泛型不能使用基本类型

Pair //Error

Pair // Right

运行时类型查询只适用于原始类型

虚拟机中的对象总有一个特定的非泛型类型。 因此, 所有的类型查询只产生原始类型。

if (a instanceof Pair) // Error

if (a instanceof Pair) // Error

Pair p = (Pair) a; // Warning-can only test that a is a Pair

Pair stringPair = . .

Pair employeePair = . .

if (stringPair.getClassO == employeePair.getClassO) // they are equal

不能创建参数化类型的数组

虚拟机在创建参数化类型数组时会擦除泛型

Pair[] table = new Pair[10];

// Error

Pair[] table = (Pair[])

new Pair>[10]; //不安全

ArrayList> //推荐

Varargs警告

在声明具有模糊类型(比如:泛型)的可变参数的构造函数或方法时,Java编译器会报unchecked警告。鉴于这些情况,如果程序员断定声明的构造函数和方法的主体不会对其varargs参数执行潜在的不安全的操作,可使用@SafeVarargs进行标记,这样的话,Java编译器就不会报unchecked警告。

@SuppressWamings("unchecked") 也可以排除警告

不能实例化类型变量

public Pair() { first = new T(); second = new T(); } // Error

官方文档给出一些实例化方案,不过我并没有看懂。 //TODO

不能构造泛型数组

public static

总结

以上是生活随笔为你收集整理的java泛型约束_JAVA泛型 - 约束与局限性的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。