下面的代码在“return list;”中抛出异常。与typemismatch。它被认为不是。在方法中使用泛型:编译异常:抱怨类型:cannont转换为
public class Teste {
public <S extends TestPai> S getList(){
TestPai list = new TesteFilho();
return list;
}
}
class TesteFilho implements TestPai{
}
interface TestPai{
}
我发现了一个soluction它,puting像这样
public class Teste {
@SuppressWarnings("unchecked")
public <S extends TestPai> S getList(){
TestPai list = new TesteFilho();
return (S)list;
}
}
class TesteFilho implements TestPai{
}
interface TestPai{
}
但它听起来不可思议,因为我有其他代码的地方之前编制的arent执行这样。 - 在jre1.7.0_51的windows机器上使用eclipse IDE作为执行环境。
有人可以帮助它按预期工作(在第一个代码中)。
在此先感谢。
也许您可以告诉我们更多关于您正在尝试执行的操作。代码示例不是如何使用泛型。 – Radiodef 2014-12-05 17:50:16
只看起来像这样的代码: – Leonardocregis 2014-12-15 11:04:28
只看起来像这样的代码: public
S getList(){ FatherOfAll list = new SonA(); 返回列表; } 作为它的一个命令(考虑到4模式的帮派),我想确保即时返回一个子类的东西,但我可以创建任何我想要的,匹配的子类。 我提出的一点是,为什么java在编译时间抱怨它,第一个代码应该编译没有错误.... – Leonardocregis 2014-12-15 11:36:00