java - Java将差异数组转换为变量
问题描述
我正在学习 OCA 考试,有些东西淹没了我的吸引力。如果我做这样的演员
Object[] arr = new Object[] { 10, "OZAN", 15.0, 12.5f };
String s = (String) arr[1];
一切都会好起来的。但是如果我尝试那段代码
Object o = new Object();
Integer i = (Integer) o;
它会抛出一个ClassCastException。误解点是,两个我都进行了强制转换操作,但只有一个抛出了ClassCastException。出现这种情况的原因是什么?谢谢你们。
解决方案
区别在于对象的真正含义。
如果您Object o = new Integer(5);
以示例为例,它不会抛出ClassCastExecption
. 这是因为 o 不是整数,它是一个对象,而它arr[1]
是一个字符串。它也是一个对象,但它也是一个字符串,这允许它被强制转换。
推荐阅读
- node.js - 如何使用 websockets 进行简单的聊天游戏
- javascript - JS 将 JSON 数组附加到 HTML
- html - 如何将一组列表元素居中并将它们并排放置?
- python - 如何获取熊猫中分类变量的计数?
- c# - System.ArgumentOutOfRangeException:年、月和日参数描述了无法表示的 c#
- javascript - 使localStorage无效并在组件挂载后发现它已更新
- javascript - 仅在移动设备中显示模式内的元素
- arraylist - 从 Prestodb 中的非结构化数组中获取字段
- xml-parsing - 读取大的xml文件
- asp.net-core - WebSockets Server .NET Core - IsWebSocketRequest 始终返回 false