加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java – 添加到Lambda表达式中的字符串

发布时间:2020-12-15 04:32:54 所属栏目:Java 来源:网络整理
导读:我是 Java的新手,我试着在StackOverflow / Google上四处寻找但是找不到我的问题的答案. 问题:我有一个名为’s’的字符串,我已将其设置为句子. 然后,我想使用Lambda .forEach循环迭代一个对象列表,从对象中检索toString()并将其添加到这个’String中. 这是我
我是 Java的新手,我试着在StackOverflow / Google上四处寻找但是找不到我的问题的答案.

问题:我有一个名为’s’的字符串,我已将其设置为句子.
然后,我想使用Lambda .forEach循环迭代一个对象列表,从对象中检索toString()并将其添加到这个’String中.

这是我的代码:

public String toString() {
    String s =  "In klas " + this.klasCode + " zitten de volgende leerlingen:n";
    deLeerlingen.forEach(leerlingen -> {
        s += leerlingen.toString();
    });
    return s;
}

解决方法

不能以这种方式直接使用String变量,因为lambda外部变量必须是 (effectively) final.

您可以使用StringBuilder代替:

public String toString() {
    StringBuilder b = new StringBuilder();

    b.append("In klas ");
    b.append(this.klasCode);
    b.append(" zitten de volgende leerlingen:n");

    deLeerlingen.forEach(leerlingen -> {
        b.append(leerlingen.toString());
    });

    return b.toString();
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读