gpt4 book ai didi

java - 如果未指定方法 toArray,如何使用 toArray() 将哈希集转换为数组?

转载 作者:太空狗 更新时间:2023-10-29 22:42:50 25 4
gpt4 key购买 nike

查看 java 集合框架的 java api,我在 HashSet 中找不到 toArray() 方法,抽象类 Set 中有 toArray() 方法。

class Ideone {
public static void main (String[] args) throws java.lang.Exception {
Set x = new HashSet();
x.add(4);
//ArrayList<Integer> y = x.toArray(); this does not work !
int[] y = x.toArray();//this does not work!

System.out.println(x.toArray());//this gives some weird stuff printed : Ljava.lang.Object;@106d69c
}
}

如果没有指定 toArray(),如何将 hashset 转换为数组?

最佳答案

当然HashSet实现了toArray。它必须实现它,因为它实现了指定此方法的 Set 接口(interface)。实际实现在 AbstractCollection 中,它是 AbstractSet 的父类(super class),HashSet 的父类(super class)。

首先,你不应该使用原始类型。

使用:

Set<Integer> x = new HashSet<>();
x.add(4);

然后转换为数组:

Integer[] arr = x.toArray(new Integer[x.size()]);

使用 x.toArray() 会得到一个 Object[]

关于java - 如果未指定方法 toArray,如何使用 toArray() 将哈希集转换为数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33593371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com