Split string into array of character strings

I need to split a String into an array of single character Strings.

Eg, splitting "cat" would give the array "c", "a", "t"


"cat".split("(?!^)")

This will produce

array ["c", "a", "t"]


"cat".toCharArray()

But if you need strings

"cat".split("")

Edit: which will return an empty first value.


String str = "cat";
char[] cArray = str.toCharArray();

If characters beyond Basic Multilingual Plane are expected on input (some CJK characters, new emoji...), approaches such as "a💫b".split("(?!^)") cannot be used, because they break such characters (results into array ["a", "?", "?", "b"]) and something safer has to be used:

"a💫b".codePoints()
    .mapToObj(cp -> new String(Character.toChars(cp)))
    .toArray(size -> new String[size]);