Java Can';无法理解有关对象数组的错误

Java Can';无法理解有关对象数组的错误,java,Java,TestAddress.java Address[] adrsarr = new Address[5]; adrsarr[0] = new Address("B402", "3", "42", "Behind Sector 9", "New Delhi", "Delhi", "Delhi", "India", "232113"); adrsarr[1] = new Address("B1", "2", "61", "Bb Road

TestAddress.java

Address[] adrsarr = new Address[5];
        adrsarr[0] = new Address("B402", "3", "42", "Behind Sector 9",
                "New Delhi", "Delhi", "Delhi", "India", "232113");
        adrsarr[1] = new Address("B1", "2", "61", "Bb Road 2", "Mumbai",
                "Mumbai", "Maharashtra", "India", "1213");
        adrsarr[2] = new Address("AH2", "325", "98", "BPGC", "Goa", "Goa",
                "Goa", "India", "403726");
        adrsarr[3] = new Address("a222", "2", "81", "Sector market",
                "New Delhi", "Delhi", "Delhi", "India", "11a001");
java有一个类型为
Address()
Address(string,string,string,string,string,string,string,string,string,string,string)的构造函数

现在这个给定的代码在主TestAddress类中不起作用,它在我声明ADRSAR的行中给出了一个错误

- Syntax error on token ";", { expected after this token
但是如果我把它放在像buildArr()这样的函数中,那么它的编译就完美无缺,没有错误

知道发生了什么吗?在不生成函数的情况下,如何初始化对象数组

现在这个给定的代码在主TestAddress类中不起作用, 它在我声明Adrsar的行中给出了一个错误

- Syntax error on token ";", { expected after this token
不能在方法、构造函数或初始化块之外填充数组

 public class Country {
    Address[] add = new Address[3];
    add[0] = new Address();// this would not **compile**, put it inside a constructor /method.

      {
           this.add[0] = new  Address();// populating inside an init block, works fine 
       }
      public country() {
        this.add[0] = new  Address(); //populating inside a constructor, works fine
       }
       public void method(){
         this.add[0] = new Address();//populating inside a method, works fine
        }
  }

使用数组初始值设定项代替初始化赋值语句

Address[] add = { new Address(), new Adress(), new Adress() }; 

数组初始值设定项只能用于声明中或作为数组创建表达式的一部分(请参见)

请发布整个代码,因为您可能忘记了在发布的代码上方的括号。嘿,我没有,我已经检查过了。仍然有助于发布完整的代码。代码是正确的,因此出现错误肯定有其他原因,也许最好发布完整的
TestAddress
类代码。@GangnamStyleOverflower是对的,也许你把初始化代码放在了任何方法之外,这是不正确的。事实上数组是在
TestAddress
类的主方法中填充的。@remigio仔细阅读,我想他指的是一个类(main TestAddress类),不是类的主方法,但从逻辑上讲,您可以在main中填充它。我已经仔细阅读了它,但是@user1265125谈到在
TestAddress
类的
main
函数中使用
Address
数组,因此注释不合适。@remigio好吧,您可能是对的,但他在问题中没有提到main函数。(在主TestAddress类内部)。没错,我将
现在这个给定的代码在主TestAddress类内部不工作解释为
现在这个给定的代码在TestAddress类的主方法内部不工作。也许@user1265125将该代码置于任何方法之外。很抱歉,我投了反对票,我只是投了你的赞成票。初始化器不是初始化数组的唯一方法,你可以在声明数组后在后续的赋值中通过赋值元素填充它们。是的,你是对的,但我没有说初始化器是唯一的方法。我说过初始值设定项只能用于声明或。。。你提到的方式在上面的答案中有描述。