博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java中的set的toArray()转成的数组如何进行接收
阅读量:4073 次
发布时间:2019-05-25

本文共 730 字,大约阅读时间需要 2 分钟。

Java中的set的toArray()转成的数组如何进行接收

  • 强制类型转换报错代码
Set
set=map.keySet();Integer[] num=null;num=(Integer[])set.toArray();System.out.println(num.toString());

在这里插入图片描述

原因:为set.toArray()返回的是Object类型,强制转换的时候发生ClassCastException错误。

  • 修改后的代码
Set
set=map.keySet();Integer[] num=null;num=set.toArray(new Integer[0]);System.out.println(num.toString());

在这里插入图片描述

**原因:**不带参数的toArray方法,是构造的一个Object数组,然后进行数据拷贝,此时进行转型就会产生ClassCastException,而带参数的toArray方法,则是根据参数数组的类型,构造了一个对应类型的,长度跟keySet的size一致的空数组,虽然方法本身还是以 Object数组的形式返回结果,不过由于构造数组使用的ComponentType跟需要转型的ComponentType一致,就不会产生转型异常。

二分查找的一个坑

  • mid=left+(right-left)/2;
  • mid=(right+left)/2;(有时候会溢出)
    因为left+right很容易超过int范围!而mid = left + (right - left) / 2 不容易溢出,所以建议以后写二分时要用mid = left + (right - left) / 2。

转载地址:http://htgji.baihongyu.com/

你可能感兴趣的文章
《软件过程管理》 第八章 软件过程集成管理
查看>>
分治法 动态规划法 贪心法 回溯法 小结
查看>>
《软件体系结构》 练习题
查看>>
《数据库系统概论》 第一章 绪论
查看>>
《数据库系统概论》 第二章 关系数据库
查看>>
《数据库系统概论》 第三章 关系数据库标准语言SQL
查看>>
SQL语句(二)查询语句
查看>>
SQL语句(六) 自主存取控制
查看>>
《计算机网络》第五章 运输层 ——TCP和UDP 可靠传输原理 TCP流量控制 拥塞控制 连接管理
查看>>
堆排序完整版,含注释
查看>>
二叉树深度优先遍历和广度优先遍历
查看>>
生产者消费者模型,循环队列实现
查看>>
PostgreSQL代码分析,查询优化部分,process_duplicate_ors
查看>>
PostgreSQL代码分析,查询优化部分,canonicalize_qual
查看>>
PostgreSQL代码分析,查询优化部分,pull_ands()和pull_ors()
查看>>
ORACLE权限管理调研笔记
查看>>
移进规约冲突一例
查看>>
IA32时钟周期的一些内容
查看>>
SM2椭圆曲线公钥密码算法
查看>>
获得github工程中的一个文件夹的方法
查看>>