lambda表达式 java拼接字符串
时间: 2023-11-24 08:53:04 浏览: 37
Lambda表达式是Java 8中引入的一种新的语法,它可以用来简化代码,特别是对于函数式编程。在Java中,可以使用Lambda表达式来拼接字符串。下面是一个例子:
```java
List<ProductInfoVO> list = dao.queryDocesByCondition(condition);
String value = list.stream().map(productInfoVO -> String.valueOf(productInfoVO.getReqType())).collect(Collectors.joining(","));
```
上面的代码使用Lambda表达式将ProductInfoVO对象的reqType属性转换为字符串,并使用逗号将它们连接起来。这里使用了Java 8中的Stream API和Collectors.joining()方法来实现。
相关问题
Java stream 将集合里面的数据加多个固定字符串 返回新的集合
可以使用Java Stream的map()方法来对集合中的每个元素进行操作并返回一个新的集合。具体来说,可以使用lambda表达式将每个元素与要添加的固定字符串相加,然后返回新的集合。
以下是一个示例代码:
```java
List<String> oldList = Arrays.asList("apple", "banana", "orange");
List<String> newList = oldList.stream()
.map(s -> s + "_new")
.collect(Collectors.toList());
System.out.println(newList);
```
输出结果为:["apple_new", "banana_new", "orange_new"]
在这个示例中,我们首先使用Arrays.asList()方法创建了一个旧的字符串列表。然后,我们使用Stream的map()方法将每个字符串与"_new"相加,生成一个新的字符串,并使用toList()方法将所有结果收集到一个新的列表中。最后,我们打印出新列表中的所有元素。
你可以根据自己的需求修改lambda表达式中的字符串拼接操作。
java lambda list转换map时,把多个参数拼接作为key操作
Java 8 引入的 lambda 表达式和 Stream API 大大简化了我们对集合的操作。其中,Stream 的 map() 函数可以将一个集合转换为另一个集合,非常方便。而在将一个 List 转换为 Map 时,我们有时需要将多个参数拼接成一个字符串作为键(Key)。这种情况下,我们可以使用 lambda 表达式提供的功能将多个参数拼接起来。
具体来说,我们可以使用 Stream API 的 collect() 函数,并传入一个 Collector 对象。而当我们想要将多个参数拼接作为 Key 的时候,我们可以使用 Collectors 的 toMap() 方法,并重载该方法传入一个 Function 对象来实现。这个 Function 对象可以接受多个参数,并将它们拼接起来作为 Key。
比如,我们有一个装有 Person 类型的 List,每个 Person 包含了 name 和 age 两个属性,我们想要根据 name 和 age 生成一个 Map,其中 Key 为 name + "#" + age,Value 为 Person 实例。我们可以这样做:
```
List<Person> personList = ... ;
Map<String, Person> personMap = personList.stream()
.collect(Collectors.toMap(
person -> person.getName() + "#" + person.getAge(),
person -> person));
```
这样,我们就得到了一个由 name+“#”+age 组成的 String 作为 Key,对应的 Value 是 Person 实例。通过这样的方式,我们可以很方便地将多个参数组合成一个字符串作为 Map 的 Key,并根据此生成 Map。