|
1
3
如果列表的组件类型与预期类型匹配,则没有问题。 Java中的泛型仅用于编译器的类型检查,它们在运行时不起作用。如果您使用的是不支持泛型的旧库,那么除了忽略泛型类型之外,您别无选择。 事情应该继续进行,因为这个系统的设计考虑到了向后兼容性。 所以你丢失的是编译时类型检查(它使你回到Java在1.4处的位置,这意味着,如果类型匹配,所有的东西都会工作,如果不是,你将在运行时得到CLSASSCAST异常或其他不想要的行为)。 不过,我想你可以只写
此方法接受任何类型的对象。即使它想要一个列表,你仍然可以通过
|
|
|
2
2
Java使用泛型类型的“类型擦除”——本质上这意味着编译器检查泛型,但是运行时忘记了它的全部内容,只是把它当作一个对象列表。
每当你治疗
如果你不小心,那么如果你通过
*有些信息在运行时是可以访问的,但不要让事情复杂化。 |
|
3
1
泛型类型的“非泛型”版本称为“原始类型”。 传递请求原始等价物的泛型类型通常是可以的。这实际上是Java中泛型工作的主要原因(用擦除):启用“泛化”代码和前泛型代码之间的互操作性。
最重要的是,如果你通过了
如果你想要更多的快速失败行为,你可以
如果
|
|
|
4
0
第二,泛型列表的两个主要优点是:1)它确保所有对象都是指定的类型;2)它允许您直接访问对象集合的方法,而无需重新对它们进行编码。这允许您编写更干净的代码,并节省一些处理周期(从不得不回滚到第四个)。 然而,这些优势中没有一个是迫切需要的。如果你不能使用它们,你就不会注意到性能上的差异。不过,您的代码可能看起来有点乱。 |
|
|
5
0
我在WebLogic门户上也有类似的问题。只需在本例中使用none泛型类型。 |