我有一个List的字符串.是否有Java便捷方法将其转换List为CSV String?所以"test1,test2,test3"是List 3 String元素的转换结果,其中包含"test1""test2""test3"
我可以自己编写方法来转换,String但也许这已经由API实现了?
Bri*_*new 39
Apache Commons Lang包含一个StringUtils.join()方法,正是出于此目的.请注意,存在不同的风味.
截至2014年3月,Java 8现在有一个StringJoiner
Jav*_*der 13
如果您使用的是Java 8
List<String> objects= Arrays.asList("Test1","Test2","Test3");
String objectsCommaSeparated = String.join(",", objects);
System.out.println(objectsCommaSeparated);
Run Code Online (Sandbox Code Playgroud)
随着Streams
String objectsCommaSeparated = objects.stream().collect(Collectors.joining(","));
System.out.println(objectsCommaSeparated);
Run Code Online (Sandbox Code Playgroud)
有一些有用的方法org.springframework.util.StringUtils.
例:
String text = StringUtils.arrayToCommaDelimitedString(new Object[]{"test1", "test2", "test3"});
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请访问:http: //static.springsource.org/spring/docs/1.2.9/api/org/springframework/util/StringUtils.html
写了这个简单的方法;
String listToCsv(List<String> listOfStrings, char separator) {
StringBuilder sb = new StringBuilder();
// all but last
for(int i = 0; i < listOfStrings.size() - 1 ; i++) {
sb.append(listOfStrings.get(i));
sb.append(separator);
}
// last string, no separator
if(listOfStrings.size() > 0){
sb.append(listOfStrings.get(listOfStrings.size()-1));
}
return sb.toString();
}
Run Code Online (Sandbox Code Playgroud)
如果你想使用核心java,我认为你可以使用以下内容.
java.util.Arrays.toString(list.toArray(new String[list.size()]).replace("[", "\"").replace("]", "\"");
Run Code Online (Sandbox Code Playgroud)
警告:我没有检查过所有这些情况.;)
Arrays.toString会产生类似的东西
[a], [b], [c]
Run Code Online (Sandbox Code Playgroud)
如果你列出包含 a, b, c
我们可以使用以下逗号分隔的优点,只需删除方括号并将其替换"为逗号在数据中的情况.如果你不需要这个,你就可以做到replace("[", ""
| 归档时间: |
|
| 查看次数: |
41074 次 |
| 最近记录: |