【发布时间】:2016-03-11 06:11:25
【问题描述】:
如何消除以下代码中的警告Unchecked overriding: return type requires unchecked conversion. Found 'org.example.AAndB<java.lang.integer>', required 'T'.。
我尝试设计一个接口 (Interface),使其不会显式声明方法 get() (AAndB<Integer>) 的返回类型,而是枚举结果必须实现的接口 (<T extends B<Integer> & A> T )。
package org.example;
class InterfaceImpl implements Interface {
public AAndB<Integer> get() {
// ^----- Unchecked overriding: return type requires unchecked conversion. Found 'org.example.AAndB<java.lang.integer>', required 'T'.
final AAndB<Integer> aAndB = new AAndB<Integer>();
return aAndB;
}
}
interface Interface {
<T extends B<Integer> & A> T get();
}
class AAndB<T> implements A, B<T> {
public void a() {
}
public void b(T t) {
}
}
interface A {
void a();
}
interface B<T> {
void b(T t);
}
【问题讨论】:
标签: java generics type-bounds