返回以下流内字符串时我遇到了一个大问题。你会帮忙吗?这是我的清单:List<String> dest = Arrays.asList( "bleble bleble 2000", "WAW HAV 1200", "xxx yyy 789", "WAW DPS 2000", "WAW HKT 1000");我怎样才能返回这样的字符串: //to HKT - price in EUR: 4300//to HAV - price in EUR: 5160//to DPS - price in EUR: 8600在直播?enter codedouble ratePLNvsEUR = 4.30;List<String> result = dest .stream() .filter(x -> x.startsWith("WAW")) //.map() <- how to change "WAW HAV 1200" into "HAV - price in EUR: 5160" .collect(Collectors.toList());for (String r : result) System.out.println(r); 这对于 (..) 是必需的。
1 回答

慕后森
TA贡献1802条经验 获得超5个赞
您可以使用map()拆分字符串,并获取所需的元素(第二个和第三个):
List<String> result = dest
.stream()
.filter(x -> x.startsWith("WAW"))
.map(x -> {
String[] row = x.split(" ");
return String.format("to %s - price in EUR: %s",
row[1],
Integer.parseInt(row[2]) * ratePLNvsEUR);
})
.collect(Collectors.toList());
添加回答
举报
0/150
提交
取消