Java字符串拼接方法汇总

在开发中,经常会遇到字符串拼接问题,如将一个集合中的数据拼接为一个字符串。总结如下:

1、将List<String>或String[]中的元素拼接为一个字符串按逗号分隔(不以逗号结尾)

      1)、for循环遍历集合,取出集合中的元素进行拼接(不推荐)             

// 初始化集合

List<String> names = Arrays.asList("Dirk","Terry","Nash","Kobe");

// 最终结果

String result = StringUtils.EMPTY;

// 拼接字符串

for (String name: names) {

result += name + ",";

}

// 打印结果

System.out.println(result.substring(0,result.length()-1));

     2)、使用org.apache.commons.lang3.StringUtils工具类

// 初始化集合

String[] names = new String[]{"Dirk","Terry","Nash","Kobe"};

// 拼接及打印结果

System.out.println(StringUtils.join(names,","));

     3)、JDK1.8中直接使用String.join方法

// 初始化集合

List<String> names = Arrays.asList("Dirk","Terry","Nash","Kobe");

// 拼接及打印结果

System.out.println(String.join(",", names));

2、将List<T>中的某一个属性拼接为一个字符串,按逗号分隔(不以逗号结尾)

    1)、for循环遍历集合,取出对象中的属性进行拼接(不推荐)

// 初始化集合

List<MasterOrder> masterOrderList = new ArrayList<MasterOrder>();

MasterOrder masterOrder1 = new MasterOrder();

masterOrder1.setMasterOrderId("122233");

masterOrderList.add(masterOrder1);

MasterOrder masterOrder2 = new MasterOrder();

masterOrder2.setMasterOrderId("222222");

masterOrderList.add(masterOrder2);

// 结果

String result = StringUtils.EMPTY;

// 遍历集合

for (MasterOrder masterOrder : masterOrderList) {

result = StringUtils.join(result,masterOrder.getMasterOrderId(),",");

}

// 打印结果

System.out.println(result.substring(0,result.length()-1));

   2)、使用lamda表达式

// 初始化集合

List<MasterOrder> masterOrderList = new ArrayList<MasterOrder>();

MasterOrder masterOrder1 = new MasterOrder();

masterOrder1.setMasterOrderId("122233");

masterOrderList.add(masterOrder1);

MasterOrder masterOrder2 = new MasterOrder();

masterOrder2.setMasterOrderId("222222");

masterOrderList.add(masterOrder2);

// 拼接及打印结果

System.out.println(masterOrderList.stream().map(m -> m.getMasterOrderId()).collect(Collectors.joining(",")));

发表评论

电子邮件地址不会被公开。 必填项已用*标注