Java 将对象转换为对象[]

Java 将对象转换为对象[],java,Java,我使用的库中的方法返回一个对象,但它实际上是一个对象数组。我被困在我需要的地方。奇怪的是,没有人要求像这样的转换。你可以简单地这样进行转换: Object o = ... Object[] array = { o }; Object[] arrayOfObjects = (Object[]) yourMethod(); 许多API返回对象,因为这是返回的最一般的东西。对于可以存储多种不同类型的通用容器,通常情况下就是这样。然后,getter样式的方法无法返回任何更具体的内容 不需要任何显式的

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

你可以简单地这样进行转换:

Object o = ...
Object[] array = { o };
Object[] arrayOfObjects = (Object[]) yourMethod();

许多API返回对象,因为这是返回的最一般的东西。对于可以存储多种不同类型的通用容器,通常情况下就是这样。然后,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
}

那是因为它毫无意义。是的,我已经把这个问题读了好几遍了,不是读到了不同的读物,就是被弄糊涂了。无论如何,这不是没有上下文的问题……这是关于简单演员的问题吗?如果是这样的话,它几乎是一本可读性很好的傻瓜书-/@伊格纳西奥:这是有道理的。数组是有效的对象。可以使用object.isArray().Hmmm检查对象是否为数组。。。我还以为是另一种情况呢。@Khoi,你能说得更具体一点吗?@Rekin,当我读到标题时,我觉得他想把一个
对象转换成object[]
但是你是对的,这与问题主体相矛盾。“数组”的元素没有引用原始数组的元素。不过,雷金的答案是可行的。这意味着有数组对象和数组原语?愚蠢的我:P
Object object = MyApi.getFoo();
if (object instanceof Object[]) {
    Object[] theRealThing = (Object[]) object;
} else {
    System.out.println("The impossible has happened!"); // or something like that
}