我有通用的:
public class Gen<T> {
private T value;
public T getValue() {
return value;
}
}
和一些方法:
public void someMethod(Gen<?> gen) {
System.out.println(gen.getValue());
}
someMethod如果方法参数的类型Gen不是,会有什么不同Gen<?>吗?
我知道元字符参数可以做extendsor super。
我是否正确理解 Gen 是一种解决遗留代码问题的方法?
在这种情况下,没有区别。
如果 Gen 类有一个方法需要
T:你
GensetValue可以做到,但Gen<?>你做不到。通配符参数用于设置对泛型类的使用限制。可以在类上执行的方法可以在没有类型转换错误的情况下
Gen<?>执行。Gen<T>更多的: