java开发中,如果需要将数组的值转换成字符串,并实现分隔符的转换,将转换后的值传递给一个字符串,可以参考本篇博文。如输入的list数组为[ab, 123, 45, 678],期望的输出结果为ab;123;45;678,该结果传递给一个字符串类型的变量使用,主要涉及到去除[],将,转换为;,去除每个值之间的空格。
public String getNameList(){
List<String> nameList = new ArrayList<>();
nameList.add("ab");
nameList.add("123");
nameList.add("45");
nameList.add("678");
//将nameList两侧的[]去掉,同时将逗号转为分号
String result = nameList.toString().split("\\[")[1].split("]")[0];
return StringUtils.replace(result,",",";");
}
代码解读
- 在表示 [ 时,不能直接写 [ 符号,需要进行转义,即: \[
- split(“\[”)[1]表示 [ 符号的右边的值
- split(“]”)[0]表示 ] 符号的左边的值
这样就限定了取值结果为 [ ] 范围内的值
但是经过上面的处理,发现返回的结果,传递给一个String类型的字符串,会报错,排查下来的原因是,经过上面的处理,得到的结果是 “ab; 123; 45; 678”,所以还需要处理下空格,最终的代码如下:
public String getNameList(){
List<String> nameList = new ArrayList<>();
nameList.add("ab");
nameList.add("123");
nameList.add("45");
nameList.add("678");
//将nameList两侧的[]去掉,同时将逗号转为分号
String result = nameList.toString().split("\\[")[1].split("]")[0];
//给每个值之间的空格去掉
return (StringUtils.replace(result,",",";")).replace(" ","");
}
经过上述处理后,该方法就可以被调用了,根据实际情况看该方法需要传入参数之类的不,直接getNameList()调用即可。