类型不匹配,从java到scala应为util.List[Nothing]
我试图学习Scala,但在使用列表时遇到了一些问题。我遇到:类型不匹配,从java到scala应为util.List[Nothing],java,scala,Java,Scala,我试图学习Scala,但在使用列表时遇到了一些问题。我遇到: Type mismatch, expected util.List[Nothing], actual ArrayList[Role] 从scala代码的这一部分 val roleList = { val singleRoleList = new util.ArrayList[Role] singleRoleList.add(mockRole) singleRoleList } listResult.setI
Type mismatch, expected util.List[Nothing], actual ArrayList[Role]
从scala代码的这一部分
val roleList = {
val singleRoleList = new util.ArrayList[Role]
singleRoleList.add(mockRole)
singleRoleList
}
listResult.setItems(roleList)
其中listResult的类是在java代码中定义的
public class ListResult<M> {
/**
* Result items.
*/
private List<M> items;
/**
* Constructor.
*/
public ListResult() {
}
/**
* Gets items from list request.
* @return List of items.
*/
public List<M> getItems() {
return items;
}
/**
* Sets items for list request.
* @param items the items to set
*/
public void setItems(final List<M> items) {
this.items = items;
}
}
公共类ListResult{
/**
*结果项。
*/
私人清单项目;
/**
*构造器。
*/
公共列表结果(){
}
/**
*从列表请求获取项。
*@返回项目列表。
*/
公共列表getItems(){
退货项目;
}
/**
*设置列表请求的项目。
*@param items要设置的项目
*/
公共无效设置项(最终列表项){
这个项目=项目;
}
}
似乎是java/scala的一个问题,我不太确定如何解决这个问题。有什么提示吗?您的
列表结果的类型错误
val listResult = new ListResult()
强制编译器将类型参数推断为,因为它不能做得更好。你需要
val listResult = new ListResult[Role]()
或
listResult
的类型错误
val listResult = new ListResult()
强制编译器将类型参数推断为,因为它不能做得更好。你需要
val listResult = new ListResult[Role]()
或
listResult
本身是如何定义的?例如,val listResult=new listResult()
?是的,这正是它的定义listResult
本身是如何定义的?例如,val listResult=new listResult()
?是的,这正是它的定义,这很有意义。非常感谢。抱歉输入错误,当然应该是[Role]
。哦,这很有道理。非常感谢。很抱歉输入错误,当然应该是[Role]
。