数组不能强制类型转换的情况
来源:互联网 发布:在线真心话大冒险软件 编辑:程序博客网 时间:2024/04/29 10:45
一个运行时类型为父类的数组,如果其存放的都是子类的元素,也不能够将其转换为子类的数组。例如:
Object[] os = new Object[]{"hello","world"};
String[] ss =(String[])os;
其实这和普通的向下强转没什么不同,例如一个父类引用的运行时类型就是父类,当然不能向下强转为子类,之所以我们认为其能强转,是被数组中存放的元素的类型迷惑了,其实跟容器中的元素类型没关系。
所以当os的运行时类型如果就是String[]的时候,自然就能强转了。
Object[] os = new String[]{"ss","ss"};
String[] ss = (String[])os;
总结:数组的类型转换和其他类型没有什么不同,可以认为Object[] 是String[]的父类型,但是转换的关键是要看运行时类型,千万不要被数组中存放的元素给迷惑了,他们不起作用。
0 0
- 数组不能强制类型转换的情况
- 强制的类型转换
- 强制类型的转换
- java中是不能对数组进行强制转换的
- C语言数组、指针强制类型转换
- 类型强制转换的危险
- 强制类型转换的问题
- 指针的强制类型转换
- java的强制类型转换
- 函数的强制类型转换
- C#的强制类型转换
- 指针的强制类型转换
- 指针的强制类型转换
- C++的强制类型转换
- java类型的强制转换
- 地址类型的强制转换
- C++的强制类型转换
- c++的强制类型转换
- 函数指针
- 初识数据库之红皮书——实例小结
- read命令
- Java高级视频_IO输入与输出(三)
- 堆和栈的区别
- 数组不能强制类型转换的情况
- python文本处理总结
- 猜拳游戏(单击版)
- animate
- 南阳 70 阶乘因式分解(二)
- 查看linux swap 分区
- nio.2 nio 和传统io
- Algorithm学习笔记 --- 金明的预算方案
- C++第9周(春)项目2 - Time类