首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >类型不匹配,应为从java到scala的util.List[Nothing]

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

Stack Overflow用户
提问于 2018-06-09 04:51:40
回答 1查看 294关注 0票数 0

我正在尝试学习Scala,但在使用列表时遇到了一些麻烦。我遇到了:

代码语言:javascript
复制
Type mismatch, expected util.List[Nothing], actual ArrayList[Role]

我的scala代码的这一部分

代码语言:javascript
复制
val roleList = {
    val singleRoleList = new util.ArrayList[Role]
    singleRoleList.add(mockRole)
    singleRoleList
}

listResult.setItems(roleList)

其中listResult的类在java代码中是这样定义的

代码语言:javascript
复制
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的一个问题,我不太确定如何解决这个问题。有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-09 04:57:58

您的listResult类型错误。

代码语言:javascript
复制
val listResult = new ListResult()

强制编译器将类型参数推断为Nothing,因为它不能做得更好。你需要例如

代码语言:javascript
复制
val listResult = new ListResult[Role]()

代码语言:javascript
复制
val listResult: ListResult[Role] = new ListResult()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50768230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档