如何解决如何在 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()]);
解决方法
如果 Object
是 Character
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 举报,一经查实,本站将立刻删除。