类型不匹配,从java到scala应为util.List[Nothing]

类型不匹配,从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

我试图学习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;
    }
}
公共类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]