创建一个在Java中返回多个对象的对象

创建一个在Java中返回多个对象的对象,java,object,Java,Object,我想创建一个包含并返回多个不同类型对象的对象 最好的方法是什么?这里似乎有几种方法,所以我很想听听不同的人的想法 谢谢。如果要从单个方法调用一次返回所有对象,最好将所有对象封装到一个(可能是内部)类中,并返回该类的实例 class Container { public static class Container { Type1 obj1; Type2 obj2; ... } private Type1 obj1; private Type2 obj2;

我想创建一个包含并返回多个不同类型对象的对象

最好的方法是什么?这里似乎有几种方法,所以我很想听听不同的人的想法


谢谢。

如果要从单个方法调用一次返回所有对象,最好将所有对象封装到一个(可能是内部)类中,并返回该类的实例

class Container {
  public static class Container {
    Type1 obj1;
    Type2 obj2;
    ...
  }
  private Type1 obj1;
  private Type2 obj2;
  ...
  public Container getAllObjects() {
    Container container = new Container();
    container.obj1 = this.obj1;
    ...
    return container;
  }
}
(从技术上讲,您也可以在
Object[]
数组中返回多个对象,但是我不建议这样做,因为它缺乏类型安全性,并且可能导致排序错误。)

如果您想从不同的方法调用中逐个返回对象,那么好的旧getter就是您的朋友:-)


创建与此类似的类:

class ReturnValue {
   Type1 value1;
   Type2 value2;
}
如果您知道始终要返回的类型,则从方法返回实例

如果您不知道,那么唯一的方法就是返回包含您的值的
对象[]

您所说的“返回”是什么意思?就我所理解的术语而言,对象不会返回任何东西,它们只是返回而已。它们可以有返回对象的getter。你能告诉我你在说什么吗


如果我理解正确,您只需要一个类(对象)和几个私有对象(变量),可以通过函数(成员)进行设置和获取。

我可以为您提供三种方法:

-1) 使用通过引用传递的变量这一事实。通过这种方式,您可以直接修改函数中的对象,而不必担心返回值

-2) 您可以简单地创建对象数组:

Object[] returnTab = new Object[numberToStore];
(我觉得这不太漂亮)

-3) 创建ReturnObjectContainer对象

公营货柜{ 公众反对a; 公众反对b

Arraylist list=新列表()

。。。 //添加您需要存储的任何内容
}这不是所有集合对象(以及大多数列表接口的实现,如ArrayList)的定义吗


集合对象包含其他对象并通过方法调用返回它们?

包含和返回是什么意思?你的意思是它有一些像getObjects()的函数吗?你能详细解释一下对象taht包含和返回的含义吗?你想完成什么?
Object[] returnTab = new Object[numberToStore];