gpt4 book ai didi

java - 如果值匹配条件并生成列表中值的逗号分隔列表,则为字符串添加后缀的最佳方法

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:07:20 24 4
gpt4 key购买 nike

在 Java 8 中执行以下操作的最佳方法是什么。

我有一个 ColumnInfo 对象列表,

ColumnInfo CLASS 有以下成员

String name
Class<?> type
Object value

我想迭代 ColumnInfo 对象的列表,如果其中任何一个是 String.class 类型,我想在列名后缀“IS A STRING”,对于其他列,我想按原样返回列名,返回值应该是逗号分隔的字符串。逗号分隔的字符串应保持项目的顺序,就像在传入的 ColumnInfo 对象列表中一样。

所以,如果我有如下列信息对象

{order_code , Integer.class, 10}
{order_city, String.class ,"france"}
{is_valid, Boolean.class, true}

预期输出

order_code, order_city IS A STRING, is_valid

下面是我的做法,有没有更好的办法呢?

String commaSepStr = columnInfos.stream()
.map(f -> {
String retValue = isString(f)? f.getName()+ " IS A STRING" : f.getName();
return retValue;
}).collect(Collectors.joining(" ,")));

最佳答案

你可以这样做,

String resultStr = columnInfoList.stream()
.map(ci -> ci.getType() == String.class ? ci.getName() + " IS A STRING" : ci.getName())
.collect(Collectors.joining(", "));

您不需要将其分配给变量并返回。而是可以直接返回。此外,isString 方法的实现对我来说似乎没有必要,因为它可以内联完成。所以我保留这个作为答案是公平的。

关于java - 如果值匹配条件并生成列表中值的逗号分隔列表,则为字符串添加后缀的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52970299/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com