java - 如何从 Object 转换为 Double[]

标签 java classcastexception

我在 Java 8 中有一个对象,它实际上是一个包含 Double 对象的对象数组。我需要检查(使用instanceof)并获取值。但我在尝试转换为 Object[] 或 Double[] 时总是遇到错误。

这是 Eclipse 表达式中的变量

enter image description here

运行代码时出现此异常

Object position = whitelist.get("code").get("position");
if(position!=null){
     feature.setGeometry(new Point(((Double []) position)[0],((Double []) position)[1]));
}

java.lang.ClassCastException: java.util.ArrayList cannot be cast to [Ljava.lang.Object;

但它可以在 ideone.com 上运行:

<script src="http://ideone.com/e.js/J2ZJSV" type="text/javascript" ></script>

编辑:my own answer...

最佳答案

whitelist.get("code").get("position") 显然返回一个包含 Double 对象的 ArrayList

因此你可以简单地写:

List<Double> position = (List<Double>)whitelist.get("code").get("position");
if (position!=null)
     feature.setGeometry(new Point(position.get(0),position.get(1)));

关于java - 如何从 Object 转换为 Double[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33541263/

相关文章:

java - Protocol Buffer : reading all serialized messages from file

java - Selenium 中切换窗口

java - 具有不同类型的变量参数?

java - 是否可以使用 Java 配置在 Spring Framework 中编写类似 Guice 的模块?

Java 8 lambda null 检查用法

java - 我无法在运行时连接到数据库

Android PreferenceManager.setDefaultValues() 因类转换异常而崩溃

android - 自定义 SurfaceView 上的 ClassCastException

android - 带有 findViewById 的意外 ClassCastException

scala - 将 Java 对象(实际上是 Scala Map)转换为 Scala Map