![]() |
1
24
因为物体不会
真正地
被检查为
见 Angelika Langer's Java Generics FAQ 更多信息,特别是 type erasure section . |
![]() |
2
6
Jon的答案是正确的,但是有时候你无法避开这个警告(比如当你使用遗留API时)。在这些情况下,可以像这样抑制警告:
|
![]() |
3
6
为了清楚起见,让我稍微重写一下示例。。。 我想说的是 临界差 双方:
和
是吗,既然如此 存在类型错误 ,第一个演员总是 立即投掷 执行时的运行时异常(特别是ClassCastException)。
而第二个
可以
不是——只要输入参数o是
密码是否会在某个地方 后来 抛出异常与否,取决于您对列表所做的操作。 但不管怎样,一个例外可能 不要被扔在演员的队伍里 ,但在其他地方(这可能是一个很难追踪的bug)或者根本没有。 这就是我所理解的,编译器设计者认为警告只适用于第二种情况的原因。 |