java - 在java中初始化对象的更有效方法?

标签 java object constructor

我这里有 10 个对象,但我还需要初始化 20 个,有没有更短的方法呢?

            Gallina[] gallina=new Gallina[10];
        gato[0]=new Gato(true, "Siames", "Fluffy", 10);
        gato[1]=new Gato(false, "Persa", "Fluffy", 11);
        gato[2]=new Gato(true, "Maine Coon", "Fluffy", 9);
        gato[3]=new Gato(false, "Ragdoll", "Fluffy", 4);
        gato[4]=new Gato(false, "Bengala", "Fluffy", 1);
        gato[5]=new Gato(true, "Sphynx", "Fluffy", 6);
        gato[6]=new Gato(true, "Abisinio", "Fluffy", 3);
        gato[7]=new Gato(false, "Azulruso", "Fluffy", 9);
        gato[8]=new Gato(true, "Siberiano", "Fluffy", 2);
        gato[9]=new Gato(true, "Siames", "Fluffy", 4);

最佳答案

你可以避开所有的赋值,但恐怕不会再短了:

Gato[] gato = new Gato[] {
    new Gato(true, "Siames", "Fluffy", 10),
    new Gato(false, "Persa", "Fluffy", 11),
    ...
};

与您的技术相比,这有两个微小的优势:

  • 您不能通过混淆索引来跳过和/或覆盖项目,并且
  • Java 编译器会根据您放入其中的项数调整数组大小。

显然,这假设数组在初始化期间被完全填充。

关于java - 在java中初始化对象的更有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49352734/

相关文章:

java - 我们可以在 Drools 中动态设置事实类型和事实字段吗

java - 组合框链接到 MySQL 和 Jtextfield

Excel VBA - 获取图表数据范围

Javascript:TypeError:...不是构造函数

c++ - 在另一个类中使用对象的构造函数

java - AbstractResource.ResourceResponse 在写入 OutputStream 时会阻止用户界面

java - SWT单线程问题

c++ - 添加方法到库

java - 从文件中读取 Int 作为对象,然后将其转换回 Int - Java

javascript - 使用构造函数的参数值查找对象的名称