微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Java 中将 object[] 转换为 char[]?

如何解决如何在 Java 中将 object[] 转换为 char[]?

有没有办法将 object[] 转换为 char[] ?

HashSet<Character> set = new HashSet<>();
...
// Can the set of characters be converted to char array something like below?
// char[] letters = set.toArray(new char[set.size()]);

解决方法

如果 ObjectCharacter

HashSet<Character> set = new HashSet<>();
StringBuilder sb = new StringBuilder();
set.forEach(sb::append);
char[] letters = sb.toString().toCharArray();
,

Java 中如何将 object[] 转换为 char[]?

没有比这更直接的了。

Object[] s = { 'a','b','c' };
char[] arr = new char[s.length];
for (int i = 0; i < s.length; i++) {
    arr[i] = (char)s[i];
}
System.out.println(Arrays.toString(arr));

印刷品

[a,b,c]

对于设定的情况,可以采取类似的方法。

set.add('x');
set.add('y');
set.add('z');

char[] arr = new char[set.size()];
int i = 0;
for (Character c : set) {
    arr[i++] = c.charValue();
}
System.out.println(Arrays.toString(arr));

印刷品

[x,y,z]

或流媒体版本。

char[] arr = set.stream().map(c -> Character.toString((char) c))
        .collect(Collectors.joining()).toCharArray();
,

使用 toArray() 方法并强制转换为 Character[],然后将元素复制到 char[](您不能将 Character[] 直接转换为 char[]):

HashSet<Character> set = new HashSet<>();
Character[] cLetters = (Character[]) set.toArray();
char[] letters = new char[cLetters.length];
// copy the values
for (int i = 0; i < cLetters.length; i++) {
    letters[i] = cLetters[i];
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。