Есть ли не так-грязный способ преобразования 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
Смежные вопросы
- 1. Преобразование строки в список
- 2. преобразование строки в список
- 3. Преобразование строки в список переменного
- 4. Преобразование строки в список «классов»
- 5. Преобразование строки Python в список
- 6. Преобразование строки в список списков
- 7. Преобразование строки в список дат
- 8. преобразование строки в список индексов
- 9. Python: преобразование строки в список
- 10. Преобразование строки в список словарей
- 11. Python: - Преобразование строки в список
- 12. Преобразование строки десятичной в список
- 13. преобразование строки в список int64
- 14. Преобразование строки обратно в список
- 15. Преобразование сложной строки в список в python
- 16. Преобразование строки в список в ASP.NET
- 17. Преобразование строки в список в Python
- 18. Преобразование строки в список в Python
- 19. Преобразование из строки в список в Prolog
- 20. Преобразование INT в список строки в C#
- 21. Преобразование строки в список терминов в прологе
- 22. Преобразование одной строки DataFrame в плоский список
- 23. Преобразование разделенной запятой строки в список переменных?
- 24. Преобразование строки цифр в список целочисленных
- 25. Преобразование строки Json в список объектов
- 26. Преобразование строки в список из файла
- 27. ERLANG Преобразование строки в список кортежей
- 28. Преобразование строки вывода в список - Python
- 29. Преобразование строки, разделенные запятыми в список поплавков
- 30. Преобразование строки в список 2-кортежей
Ваша строка является действительным JSON, вы можете использовать ObjectMapper Джексона, чтобы сделать это, но это похоже на убийства – Leon
Какие способы h а вы пробовали? Что вы считаете «многими» шагами? – azurefrog
Добро пожаловать в SO. Пожалуйста, прочитайте это [руководство] (http://stackoverflow.com/help/mcve). Вам нужно разобрать эту строку. –