aba*_*hev 6 java generics scjp
在准备SCJP-6考试时,我遇到了一个棘手的问题.我自己找不到答案.请回答问题并简短评论:
abstract class A<K extends Number> {
// insert code here
}
Run Code Online (Sandbox Code Playgroud)
public abstract <K> A<? extends Number> useMe(A<? super K> k);
public abstract <K> A<? super Number> useMe(A<? extends K> k);
public abstract <K> A<K> useMe(A<K> k);
public abstract <V extends K> A<V> useMe(A<V> k);
public abstract <V super K> A<V> useMe(A<V> k);
public abstract <V extends Character> A<? super V> useMe(A<K> k);
public abstract <V super Character> A<? super V> useMe(A<K> k);
可以在上面的占位符中插入哪种方法?
PS我试着看看规范.那些对我没有帮助.
小智 3
答案 1,2,3:泛型类型K影子类类型K。在这些方法中K只是新的泛型类型。编译器尝试通过条件评估<K extends Number>。方法 1,2 通过,方法 3 - 失败。
答案4完全正确。
答案 5,7 有语法错误。
答案6不正确,因为测试<V extends Number>会失败。
| 归档时间: |
|
| 查看次数: |
1175 次 |
| 最近记录: |