栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA的set集合的toArray()方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA的set集合的toArray()方法

官方JDK6文档给出的解释


对于这两种重载的不同方法,由于参数不同,则返回的类型也是不同

使用
  • 第一个方法返回的是一个Object[]类,这个类也是继承自Object类,因此他和String[]是同级的关系,不能进行转换为String[]类型,也没有对应的方法。
		Set set1 = new HashSet<>();
        set1.add(1);
        set1.add(2);
        set1.add(3);
        set1.add(4);
        
        Integer[] set1_array =  set1.toArray();//java: 不兼容的类型: java.lang.Object[]无法转换为java.lang.String[]
 

同样,我们可以利用迭代器对此Object[]类进行遍历,由于传入集合中的为Integer类型,因此每个数据也为Integer类型,如下程序:

Set set1 = new HashSet<>();
        set1.add(1);
        set1.add(2);
        set1.add(3);
        set1.add(4);

        Object[] set1_array = set1.toArray();
        for(Object a: set1_array){
            System.out.println(a.getClass().getName()+ "数据为" + a);
        }
        //java.lang.Integer数据为1
		//java.lang.Integer数据为2
		//java.lang.Integer数据为3
		//java.lang.Integer数据为4
 

因此可以发现Object[]为一个单独的类
如果我们要转换其中的内容为其他类型可以通过遍历进行转换,例如下面程序:

Set set1 = new HashSet<>();
        set1.add(1);
        set1.add(2);
        set1.add(3);
        set1.add(4);

        Object[] set1_array = set1.toArray();
        for(Object a: set1_array){
            String b = a.toString();
            System.out.println(b.getClass().getName()+ "数据为" + b);
        }
        
 
  • 第二个方法的使用即可以将集合set转换为对应类型的数组
    如下程序所示:
Set set1 = new HashSet<>();
        set1.add(1);
        set1.add(2);
        set1.add(3);
        set1.add(4);

        Integer[] set1_array = set1.toArray(new Integer[0]);
        for(Integer a: set1_array){
            System.out.println(a.getClass().getName()+ "数据为" + a);
        }
        

c利用第二种重载方法,即可将set数组转换为指定格式的数组

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号