将Object转换为Object []

时间:2011-01-02 08:25:30

标签: java

我正在使用的库中的方法返回一个对象,但它实际上是一个对象数组。我被困在需要这个价值的地方。很奇怪,没有人要求这样的转换。

4 个答案:

答案 0 :(得分:7)

    Object[] objects = new Object[] {1,"fde", 5L};
    Object casted = objects;
    Object[] recovered = (Object[]) casted;

答案 1 :(得分:2)

Object o = ...
Object[] array = { o };

答案 2 :(得分:2)

许多API返回Object,因为这是最常返回的内容。对于可以存储许多不同类型的通用容器,通常就是这种情况。然后,getter样式方法无法返回任何更具体的内容。

不应该有任何明确的“转换”。只是施展它,你就完成了。

Object object = MyApi.getFoo();
Object[] theRealThing = (Object[]) object;

或者如果你想确保演员阵容能够奏效:

Object object = MyApi.getFoo();
if (object instanceof Object[]) {
    Object[] theRealThing = (Object[]) object;
} else {
    System.out.println("The impossible has happened!"); // or something like that
}

答案 3 :(得分:1)

你可以像这样简单地投射:

Object[] arrayOfObjects = (Object[]) yourMethod();