在 Java 中,把 Set 集合转成数组 常见有几种做法,下面按推荐程度给你说明。
toArray(T[] a) ✅(推荐)Set<String> set = new HashSet<>();
set.add("A");
set.add("B");
set.add("C");
// 转成数组
String[] array = set.toArray(new String[0]);
// 输出
System.out.println(Arrays.toString(array));
✅ 说明
new String[0] 只是用来指定类型new String[set.size()] 更简洁、可读性更好String[] array = set.toArray(new String[set.size()]);
在 Java 早期版本中常见,现在不强制使用。
toArray() 返回 Object[]Object[] array = set.toArray();
❌ 缺点
Object[]ClassCastExceptionSet<Integer> set = new HashSet<>();
set.add(1);
set.add(2);
Integer[] array = set.toArray(new Integer[0]);
String[] array = set.stream().toArray(String[]::new);
✅ 可读性一般,不如 toArray() 直接。
String[] array = (String[]) set.toArray(); // 错误
toArray() 返回的是 Object[],不能直接强转。
| 写法 | 推荐度 |
|---|---|
set.toArray(new T[0]) |
⭐⭐⭐⭐⭐ |
set.toArray(new T[size]) |
⭐⭐⭐ |
set.toArray() |
❌ |
| Stream | ⭐⭐ |
如果你用的是 List / Map,或者想转成 int[] / 泛型数组,可以告诉我,我可以继续讲。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。