Я хочу извлечь эмодзи и символы алфавита из строки в коллекцию, просто строка имеет любой тип символа эмодзи, например, активность, семью, флаг, символы животных, а также символы алфавита. когда я получил строку из EditText
, это похоже на «AB?C?D????E?️??». Я пытался, но, к сожалению, получение массива коллекции не похоже на мои ожидания, так что, может кто-нибудь подсказать мне, что мне нужно сделать для ожидаемого массива коллекции?
Используя Eclipse, я попытался исправить этот фрагмент кода, если я ошибаюсь
public class CodePoints {
public static void main(String []args){
List<String> list = new ArrayList<>();
for(int codePoint : codePoints("AB?C?D????E?️??")) {
list.add(String.valueOf(Character.toChars(codePoint)));
}
System.out.println(Arrays.toString(list.toArray()));
}
public static Iterable<Integer> codePoints(final String string) {
return new Iterable<Integer>() {
public Iterator<Integer> iterator() {
return new Iterator<Integer>() {
int nextIndex = 0;
public boolean hasNext() {
return nextIndex < string.length();
}
public Integer next() {
int result = string.codePointAt(nextIndex);
nextIndex += Character.charCount(result);
return result;
}
public void remove() {
throw new UnsupportedOperationException();
}
};
}
};
}
}
Выход:
[A, B, ?, C, ?, D, ?, , ?, , ?, ?, , E, E, ?, ️, , ?, , ?]
Ожидаемая:
[A, B, ?, C, ?, D, ????, E, ?️?, ?]