Java 声明时初始化数组内的类成员

Java 声明时初始化数组内的类成员,java,arrays,initialization,Java,Arrays,Initialization,声明数组时如何初始化MyClass成员 class MyClass { int var1; String[] var2; } MyClass[] c = new MyClass[] {...}; 如何正确写入{…}?您需要创建一个构造函数: class MyClass { int var1; String[] var2; public MyClass(int v1, String[] v2){ var1=v1; var2=v2;

声明数组时如何初始化MyClass成员

class MyClass {
   int var1;
   String[] var2;
}

MyClass[] c = new MyClass[] {...};

如何正确写入{…}?

您需要创建一个构造函数:

class MyClass {
   int var1;
   String[] var2;
   public MyClass(int v1, String[] v2){
       var1=v1;
       var2=v2;
   }
}
然后按以下步骤操作:

MyClass[] c =new MyClass[]{new MyClass(16, new String[]{"a", "b"}), new MyClass(26, new String[]{"c", "d"});

在数组声明符内多次调用构造函数。

虽然解决方案有效,但我希望避免将构造函数作为妨碍元素。您缺少对
MyClass[]
@vikram My bad的引用,很抱歉输入错误。萨尔:不,你需要这样做。JLS定义数组初始值设定项以获取对象,并且对象需要由工厂或构造函数生成。