首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java8集合Replaceall-方法错误

Java8集合Replaceall-方法错误
EN

Stack Overflow用户
提问于 2016-04-22 17:26:28
回答 1查看 581关注 0票数 1

我希望您能帮助我,因为我是Java-8的新手

代码语言:javascript
复制
public class main {

    public static void main(String[] args){
        ArrayList<Double> coll1 = new ArrayList<>();
        coll1.add(2.5);
        coll1.add(3.5);
        printColl(multi(coll1));
    }

    public static ArrayList<Double> multi(ArrayList<Double> coll1) {
        return coll1.replaceAll(aDouble -> aDouble*2.0);
    }

    public static void printColl(ArrayList<?> coll) {
        coll.stream().forEach(System.out::println);
    }
}

我有以下问题:我有一个有2个Double的ArrayList,我正试图用"multi“方法修改它。我使用"replaceAll“方法通过lambda-expression更改单个值,但得到一个错误。

错误是“类型不兼容。必需: java.util.List Found:空”

我希望你能帮助我,因为我真的不知道为什么我会得到这个错误。

EN

回答 1

Stack Overflow用户

发布于 2016-04-24 17:51:04

让我们来看看replaceAll方法签名:

public void replaceAll(UnaryOperator<E> operator)

正如您所看到的,它没有返回任何内容,这意味着它修改了现有的ArrayList。

因此,在您的情况下,您需要执行以下操作:

代码语言:javascript
复制
public static ArrayList<Double> multi(ArrayList<Double> coll1) {
        coll1.replaceAll(aDouble -> aDouble*2.0);
        return coll1;
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36789983

复制
相关文章

相似问题

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