No, that solution is absolutely correct and very minimal.
Note however, that this is a very unusual situation: Because String is handled specially in Java, even "foo" is actually a String. So the need for splitting a String into individual chars and join them back is not required in normal code.
Compare this to C/C++ where "foo" you have a bundle of chars terminated by a zero byte on one side and string on the other side and many conversions between them due do legacy methods.
No, that solution is absolutely correct and very minimal.
Note however, that this is a very unusual situation: Because String is handled specially in Java, even "foo" is actually a String. So the need for splitting a String into individual chars and join them back is not required in normal code.
Compare this to C/C++ where "foo" you have a bundle of chars terminated by a zero byte on one side and string on the other side and many conversions between them due do legacy methods.
String text = String.copyValueOf(data);
or
String text = String.valueOf(data);
is arguably better (encapsulates the new String call).
Converting String to "Character" array in Java - Stack Overflow
Moving characters from an array to a string
How do I convert a string to an array of chars in C?
Java convert String to char array with escaped characters help
Use this:
String str = "testString";
char[] charArray = str.toCharArray();
Character[] charObjectArray = ArrayUtils.toObject(charArray);
One liner with java-8:
String str = "testString";
//[t, e, s, t, S, t, r, i, n, g]
Character[] charObjectArray =
str.chars().mapToObj(c -> (char)c).toArray(Character[]::new);
What it does is:
- get an
IntStreamof the characters (you may want to also look atcodePoints()) - map each 'character' value to
Character(you need to cast to actually say that its really achar, and then Java will box it automatically toCharacter) - get the resulting array by calling
toArray()