2014-03-26 15 views
-1

我有一个返回List的方法。当我使用类似将通用类型列表的参考列表作为列表参数<String>

List aList = myObj.getList("1"); 

它说原始类型。泛型类型的引用应该是参数化的。

当我使用

List<String> aList = myObj.getList("1"); 

它说,无论是增加投列出或更改列出

我不知道为什么?请建议。 PS:我直接创建一个列表。没有前 List aList = new ArrayList();

+2

'myObj.getList'返回什么?一个原始的'List'? – rgettman

+0

它返回一个列表 Andy897

+0

你能告诉我们你的方法的完整签名吗?从它所说的那里我们可以推测它只是定义为List getList(String) – Claudio

回答

2

这是你已经宣布getList返回类型是原始类型List代替List<String>近确定性。即使getList的主体与显式类型的通用列表一起工作,返回类型声明也决定了编译器如何输入一个涉及对该方法的调用的表达式。

+0

我在这里使用IBM Infosphere流作为中间件。这些都是预定义的东西..将尽力挖掘并提出答案。但是如果你不介意的话,你可以对这个问题做一个其他答案吗?就像它返回X那么这就是它的原因..否则.. – Andy897