如何在java中快速填充/创建对象?

时间:2018-04-18 07:40:13

标签: java oop object

所以我在Eclipse上创建了一个Android应用程序后端,我让我们说了一个" Dog" class和该类附加到" Activity"类。因此,我想创建大约150个狗对象,每个对象都有自己的活动和描述,有一天用户可以看到并且不必重新创建。 我应该如何一劳永逸地创造150只狗及其相应的50种活动?标准是什么?人们会用代码编写#34;新狗...新狗...新狗"将所有参数都放在一个方法中,一旦将它们全部保存到XML中,或者是否有更简洁的方法可以再次调用它们?

编辑:对不起,我不够精确。我现在如何使数据持久化。我正在寻找一种简单的方法来创建150个不同的狗实例,每个对象具有不同的参数。

2 个答案:

答案 0 :(得分:1)

您可以在for循环中初始化对象并将它们保存到ArrayList中:

int dogNumber = 150;
ArrayList<Dog> dogs = new ArrayList<Dog>();
for (int i = 0; i < dogNumber; i++){
    dogs.add(new Dog());
}

这将为您提供包含150只狗的列表。您可以以类似的方式创建活动。

有关ArrayList方法的信息:
https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html

答案 1 :(得分:0)

你可以使用狗建造者来创造狗

public class Dog {
    private String active;

    public String getActive() {
        return active;
    }

    public void setActive(String active) {
        this.active = active;
    }


    public static final class DogBuilder {
        private String active;

        private DogBuilder() {
        }

        public static DogBuilder aDog() {
            return new DogBuilder();
        }

        public DogBuilder withActive(String active) {
            this.active = active;
            return this;
        }

        public Dog build() {
            Dog dog = new Dog();
            dog.setActive(active);
            return dog;
        }
    }
}

使用类似的构建器:

public void test(){
    Dog dog = Dog.DogBuilder.aDog().withActive("a").build();
}

这是Domain-Driven Design。您还可以搜索更多详细信息。

对象本身具有活动和状态