У меня проблемы с добавлением символов в ArrayList <Character> на данный момент у меня есть:
ArrayList<Character> chars = new ArrayList<Character>();
String s = "abcd";
for(int i = 0; i<s.length()-1; i++) {
chars.add(i, s.charAt(i));
}
но, похоже, возникла проблема с добавлением символа в список. Кто-нибудь может помочь?
chars.add(s.charAt(i));
не работает для меня, либо он продолжает говорить, что char не применим для ArrayList
Пожалуйста, вставьте весь код, чтобы мы могли видеть вашу переменную s.
Какой тип s?
Вы случайно не написали свой собственный класс Character в том же пакете?
@VGR Нет, я не написал, я написал основной метод, вот и все
@desiigner У меня отлично работает, какую IDE вы используете?




Вот способ сделать это на Java 8, который, вероятно, чище:
String s = "a";
List<Character> c =
s.chars()
.mapToObj(x->Character.valueOf((char) x))
.collect(Collectors.toList());
Это не чище.
Попробуйте это, у вас должно быть хорошо.
Код:
ArrayList<Character> chars = new ArrayList<Character>();
s = "abcd";
for(int i = 0; i<s.length(); i++) {
chars.add(s.charAt(i));
}
Это не скомпилируется. Строка не имеет общедоступного поля length, только метод length().
Кроме того, оригинал все равно работает ... в вопросе отсутствует информация
Если вы просто хотите преобразовать свою строку в список массивов символов, попробуйте следующее:
String s = "abc";
char[] c = s.toCharArray();
Arraylist<Character> chars = Arrays.asList(c);
Или вы можете сделать это в одной строке, если хотите:
Arraylist<Character> chars = Arrays.asList("abc".toCharArray());
По сути, Arrays.asList() вернет список, который поддерживает тот же порядок ваших массивов. Поэтому, когда вы конвертируете свою строку в массив символов и превращаете ее в список с помощью Arrays.asList, это то же самое, что и chars.add(i, s.charAt(i));
chars.add (s.charAt (i));