[英]Java unbound wildcard generics
在Bar
类中使用通配符类型泛型相比完全跳过它们有什么优势吗?
public class Foo<T> {}
public interface Bar {
public void addFoo(Foo<?> foo);
public Foo<?> getFoo(String name);
}
有许多优点。
它们提供更多类型的安全性 例如,考虑Foo
为List
。 如果您使用List
而不是List<?>
,则可以执行以下操作:
myBar.getFoo("numbers").add("some string");
即使列表只应该包含Number
秒。 如果您返回了List<?>
,那么您将无法向其添加任何内容( null
除外),因为列表类型未知。
Foo
是在某种未知但特定类型上键入的 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.