我有一个字符串,其中包含用逗号分隔的部门数。 我必须将这些数据提供给sql' IN'子句。
我想要对最后一个元素进行条件检查,我不想附加'逗号'后 最后一个元素我不知道如何在java 8 forEach循环中使用条件。
public String getDeptInClauseParameters(String depts){
StringBuilder deptsInParameter= new StringBuilder();
Stream<String> stream= Arrays.stream(depts.split(","));
stream.forEach(dept -> deptsInParameter.append("'").append(dept).append("' , "));
return deptsInParameter.toString();
}
答案 0 :(得分:2)
您可以使用Collectors.joining(delimiter, prefix, suffix)
。
delimiter
要在每个元素之间使用的分隔符prefix
要在联接结果的开头使用的字符序列suffix
要在联接结果的末尾使用的字符序列示例: - 强>
String depts = "Dept1,Dept2";
Stream<String> stream = Arrays.stream(depts.split(","));
System.out.println(stream.collect(Collectors.joining("','", "'", "'")));
这将打印'Dept1','Dept2'
作为输出,希望它有帮助