与上下文隔离-没有区别。在
t和两者上,
obj您只能调用的方法
Object。
但是有上下文-如果您有泛型类:
MyClass<Foo> my = new MyClass<Foo>();Foo foo = new Foo();
然后:
Foo newFoo = my.doSomething(foo);
与对象相同的代码
Foo newFoo = (Foo) my.doSomething(foo);
两个优点:
- 无需强制转换(编译器向您隐藏了此内容)
- 编译有效的时间安全性。如果使用的是
Object
版本,则不能确保方法始终返回Foo
。如果返回,则在运行时Bar
会有一个ClassCastException
。



