前几天我在使用泛型时发生了一种相当不寻常的行为。编译无法再正确确定具有类型参数的泛型类中方法的返回类型。
我基本上有4节课:
AbstractModel, ConcreteModel, AbstractService< AbstractModel > and ConcreteService< Model >
在AbstractService中,我有一个简单的Longs列表和一个方法“getListOfLongs”。现在,当我试图得到我的长篇清单时,会发生一些非常奇怪的事情:
for(Long l:service.getListOfLongs()){
java编译器告诉我我的列表是Objects而不是longs。
您可以在我的github上试用这个例子:https://github.com/sashokbg/java-bug/