У меня есть массив:
String[] a = {"abc","def","ghi"}
Теперь я хочу сохранить этот массив в свой строковый массив
ArrayList<String> arr = new ArrayList<>();
чтобы получилось так:
[["abc","def","ghi"]]
Я пробовал этот код, но он не работает:
arr.add(Arrays.asList(a));
Помогите пожалуйста мне
ArrayList<String[]> arr = new ArrayList<>();
А потом arr.add(a);
Если вы не ищете List<List<String>>
В каком смысле то, что вы делаете, «не работает». Чего именно вы ожидаете и что происходит?
Поскольку Arrays.asList(a) возвращает список, чтобы добавить его в свой список, вам нужно использовать addAll()
arr.addAll(Arrays.asList(a));
Вместо
arr.add(Arrays.asList(a));
Но результатом будет ["abc","def","ghi"]
Если вы хотите добиться этого [["abc","def","ghi"]], определите свой ArrayList как
List<List<String>> arr = new ArrayList<>();
используя метод arraylist addAll(), мы можем сделать, но Использование arrayList является устаревшим подходом, вместо него используйте Streams:
System.out.println(Collections.singletonList(Stream.of(new String[] {"abc","def","ghi"}).collect(Collectors.toList())));
приведет к:
[[абв, деф, гхи]]
см. этот вопрос stackoverflow.com/questions/80476/…