list类型转String类型
提出问题:
在做视频批量删除的时候,以List的形式把多个视频id传进来的时候,
其中这个方法request.setVideoIds(id);中的参数可以接受多个:request.setVideoIds(id1,id2,id3,…);
那么问题来了,传进来的List参数是这样的:[id1,id2,id3] ,怎么把List转成 id1,id2,id3 的形式
方法一:使用StringUtils.join()方法
1、思路:
根据 import org.apache.commons.lang3.StringUtils; 这个包下的 StringUtils.join() 方法,不是传统spring 中的
2、代码展示
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("11");
list.add("22");
list.add("33");
String join = StringUtils.join(list.toArray(), ",");
System.out.println(join);
}
结果:
11,22,33
活学编程思想
3、源码分析
不能只使用 StringUtils.join() 方法,而且要明白其中的原理,那么 ctrl+左键(点击join方法)看方法源码:
public static String join(Object[] array, String separator) {
return array == null ? null : join((Object[])array, separator, 0, array.length);
}
public static String join(Object[] array, String separator, int startIndex, int endIndex) {
if (array == null) {
return null;
} else {
if (separator == null) {
separator = "";
}
int noOfItems = endIndex - startIndex;
if (noOfItems <= 0) {
return "";
} else {
StringBuilder buf = newStringBuilder(noOfItems);
if (array[startIndex] != null) {
buf.append(array[startIndex]);
}
for(int i = startIndex + 1; i < endIndex; ++i) {
buf.append(separator);
if (array[i] != null) {
buf.append(array[i]);
}
}
return buf.toString();
}
}
}
源码具体说明
1、join() 方法参数两个,一个是数组,一个是
版权声明:本文为weixin_45080272原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。