是否存在将String
"[1,2,3]"
转换为List<Long>
的方式不那么麻烦?我试图找到一些好方法,但最需要许多步骤将字符串转换为列表
-6
A
回答
1
一个巧妙的办法来做到这一点是
String s = "[1,2,3]"
s=s.sbustring(1,s.length-1);
List<Long> numLongs = new ArrayList<Long>();
for(String eachString: s.split(",")){
try {
numLongs.add(Long.parseLong(eachString))
} catch (NumberFormatException e){
System.out.println("failed to convert : "+s);
}
}
5
因为这是一个数组的JSON表示,你可以使用任何JSON API。
例如使用Jackson:
String s = "[1,2,3]";
long[] a = new ObjectMapper().reader(long[].class).readValue(s);
List<Long> l = new ObjectMapper().reader(List.class).readValue(s);
0
怎么样?
String x = "[1,2,3]";
List<Long> myList = new ArrayList<>();
for(String s : x.substring(1,x.length()-1).split(",")) {
myList.add(Long.valueOf(s));
}
或
String x = "[1,2,3]";
List<Long> myList = new ArrayList<>();
for(String s : x.replaceAll("\\[|\\]","").split(",")) {
myList.add(Long.valueOf(s));
}
0
这样做:
public static void main(String[] args) {
String str= "[1,2,3]";
String []arr=str.substring(1, str.length()-1).split(",");
List<Long>list=new ArrayList<Long>();
for(int i=0;i<arr.length;i++){
list.add(Long.parseLong(arr[i]));
}
System.out.println(list);
}
0
在Java 8
String str = "1,2,3";
String[] sp = str.split(",");
List<String> listSt = Arrays.asList(sp);
listSt.forEach(System.out::print);
List<Long> listLong = listSt.stream().map(str1 -> Long.parseLong(str1)).collect(Collectors.toList());
listLong.forEach(System.out::print);
+2
使用'asList'并不是真的必要; 'Arrays'有自己的静态'stream()'方法,即'Arrays.stream(sp).map ...' – ajb 2014-10-01 20:11:06
相关问题
- 1. 将字符串转换为字列表?
- 2. 将字符串列表转换为字符串列表
- 3. 将列表转换为字符串 - TCL
- 4. 将字符串值转换为列表
- 5. 将Enumerable.Range转换为字符串列表
- 6. Java - 将字符串转换为列表
- 7. 将字符串转换为列表
- 8. 将字符串转换为列表
- 9. 将列表转换为字符串
- 10. 将字符串转换为int64列表
- 11. 将字符串列表转换为xml
- 12. Linq将字符串转换为列表
- 13. 将列表转换为字符串
- 14. 将列表转换为字符串?
- 15. 将字符串列表转换为
- 16. 将字符串转换为列表
- 17. 将AppleScript列表转换为字符串
- 18. 转换列表转换为字符串
- 19. JSF2将字符串列表转换为字符串[]
- 20. 将字符串列表转换为字符串数组
- 21. JAVA将字符串转换为字符串数组的列表
- 22. 将字符串或字符串[]转换为使用Groovy列表
- 23. 如何将字符串列表转换为查询字符串?
- 24. C - 将字符串(句子)转换为字符串列表
- 25. 字符串转换列表分为地图[字符串,列表]
- 26. 转换字符串列表为数字
- 27. 将“字符串”和“数字串”的列表转换为“数字串”被转换为数字的列表
- 28. 使用u'...'将字符串列表转换为普通字符串列表
- 29. 将嵌套字符串列表转换为嵌套字符串列表
- 30. 将字符串转换为字符串
你的字符串是有效的JSON,你可以使用杰克逊的ObjectMapper做到这一点,但看起来好像过度杀人 – Leon 2014-10-01 19:45:38
什么方法h你试过了吗?你认为“很多”步骤是什么? – azurefrog 2014-10-01 19:46:30
欢迎来到SO。请阅读本[指南](http://stackoverflow.com/help/mcve)。你需要解析这个字符串。 – 2014-10-01 19:47:15