问题
我想将aString
转换为Characterclass的对象数组,但我无法执行转换。我知道我可以使用toCharArray()
方法将String转换为原始数据类型类型为"char"的数组,但它无法将String转换为Charactertype的对象数组。
我该怎么做呢?
#1 热门回答(159 赞)
用这个:
String str = "testString";
char[] charArray = str.toCharArray();
Character[] charObjectArray = ArrayUtils.toObject(charArray);
#2 热门回答(42 赞)
一个内衬withjava-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);
它的作用是:
- 获取字符的IntStream(你可能还想查看codePoints())
- 将每个'character'值映射到Character(你需要强制转换为实际上说它真的是一个char,然后Java会将它自动封装到Character)
- 通过调用toArray()获取结果数组
#3 热门回答(32 赞)
为什么不亲自写一点方法
public Character[] toCharacterArray( String s ) {
if ( s == null ) {
return null;
}
int len = s.length();
Character[] array = new Character[len];
for (int i = 0; i < len ; i++) {
array[i] = new Character(s.charAt(i));
}
return array;
}