我正在尝试学习Scala,但在使用列表时遇到了一些麻烦。我遇到了:
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;
}
}
这似乎是java/scala的一个问题,我不太确定如何解决这个问题。有什么建议吗?
发布于 2018-06-09 04:57:58
您的listResult
类型错误。
val listResult = new ListResult()
强制编译器将类型参数推断为Nothing
,因为它不能做得更好。你需要例如
val listResult = new ListResult[Role]()
或
val listResult: ListResult[Role] = new ListResult()
https://stackoverflow.com/questions/50768230
复制相似问题