Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将对象从arraylist添加到类的实例_Java_Arraylist_Instance - Fatal编程技术网

Java 将对象从arraylist添加到类的实例

Java 将对象从arraylist添加到类的实例,java,arraylist,instance,Java,Arraylist,Instance,我有一个叫Garden的课程,里面有一个花的列表。我有一个方法,返回类中类的实例,还有一个方法向类中添加花。如何在测试工具中向类的实例添加鲜花。我的代码: public class Garden { ArrayList<Flower> flowerbed = new ArrayList<Flower>(); Hive hive = null; private static Garden instance; public static

我有一个叫Garden的课程,里面有一个花的列表。我有一个方法,返回类中类的实例,还有一个方法向类中添加花。如何在测试工具中向类的实例添加鲜花。我的代码:

public class Garden {

    ArrayList<Flower> flowerbed = new ArrayList<Flower>();
    Hive hive = null;

    private static Garden instance;

    public static Garden getInstance(){
        if(instance == null){
            instance = new Garden();
        }
        return instance;
    }

    public void addFlower(Flower flower){
        flowerbed.add(flower);
    }//some methods omitted
}

一朵新花被添加到花园中,但没有添加到花园的实例中,因为getInstance方法是静态的,所以在如何在我的testharness中使用它的问题上让我感到困惑。

我可能误解了你的问题,因为答案似乎太琐碎了,但是要向类中添加flower,只需使用已经提供的addFlower方法即可

 public void testMethod() {

     Flower one = new Flower();
     Flower two = new Flower();

     Garden garden = Garden.getInstance();
     garden.addFlower(one);
     garden.addFlower(two);
 }

编辑:正如RobbmJ的答案所指出的,要正确应用单例模式,Garden的构造函数应该是私有的。

我可能误解了你的问题,因为答案似乎太琐碎了,但要在类中添加flower,你只需使用你已经提供的addFlower方法

 public void testMethod() {

     Flower one = new Flower();
     Flower two = new Flower();

     Garden garden = Garden.getInstance();
     garden.addFlower(one);
     garden.addFlower(two);
 }
Garden.getInstance().addFlower(new Flower());
Garden.getInstance().addFlower(new Flower());

编辑:正如RobbmJ的答案所指出的,要正确应用单例模式,Garden的构造函数应该是私有的。

我可能误解了你的问题,因为答案似乎太琐碎了,但要在类中添加flower,你只需使用你已经提供的addFlower方法

 public void testMethod() {

     Flower one = new Flower();
     Flower two = new Flower();

     Garden garden = Garden.getInstance();
     garden.addFlower(one);
     garden.addFlower(two);
 }
Garden.getInstance().addFlower(new Flower());
Garden.getInstance().addFlower(new Flower());

编辑:正如RobbmJ的答案所指出的,要正确应用单例模式,Garden的构造函数应该是私有的。

我可能误解了你的问题,因为答案似乎太琐碎了,但要在类中添加flower,你只需使用你已经提供的addFlower方法

 public void testMethod() {

     Flower one = new Flower();
     Flower two = new Flower();

     Garden garden = Garden.getInstance();
     garden.addFlower(one);
     garden.addFlower(two);
 }
Garden.getInstance().addFlower(new Flower());
Garden.getInstance().addFlower(new Flower());
编辑:正如RobbmJ的回答所指出的,要正确应用单例模式,您的花园构造函数应该是私有的

Garden.getInstance().addFlower(new Flower());
Garden.getInstance().addFlower(new Flower());
您使用的是单例模式,因此应该将Garden的构造函数设置为私有

private Garden() {}
另外,因为没有理由将单例子类化

public final class Garden
调用garden的
getInstance
将始终返回与
garden
相同的实例,无论是谁调用它

另外,你要确保花坛不是静态的,就像你所做的那样

private Arraylist<Flower> flowerBed = new ArrayList<>();
private Arraylist flowerBed=new Arraylist();
您使用的是单例模式,因此应该将Garden的构造函数设置为私有

private Garden() {}
另外,因为没有理由将单例子类化

public final class Garden
调用garden的
getInstance
将始终返回与
garden
相同的实例,无论是谁调用它

另外,你要确保花坛不是静态的,就像你所做的那样

private Arraylist<Flower> flowerBed = new ArrayList<>();
private Arraylist flowerBed=new Arraylist();
您使用的是单例模式,因此应该将Garden的构造函数设置为私有

private Garden() {}
另外,因为没有理由将单例子类化

public final class Garden
调用garden的
getInstance
将始终返回与
garden
相同的实例,无论是谁调用它

另外,你要确保花坛不是静态的,就像你所做的那样

private Arraylist<Flower> flowerBed = new ArrayList<>();
private Arraylist flowerBed=new Arraylist();
您使用的是单例模式,因此应该将Garden的构造函数设置为私有

private Garden() {}
另外,因为没有理由将单例子类化

public final class Garden
调用garden的
getInstance
将始终返回与
garden
相同的实例,无论是谁调用它

另外,你要确保花坛不是静态的,就像你所做的那样

private Arraylist<Flower> flowerBed = new ArrayList<>();
private Arraylist flowerBed=new Arraylist();

从我的代码运行方式来看,这会将方法添加到花园中,但不会添加到花园的实例中。你说的“将方法添加到花园中,但不会添加到花园的实例”是什么意思?您的getInstance方法()将为您提供一个花园的单例实例,这就是您向其中添加鲜花的实例。从我的代码运行方式来看,这会向花园添加方法,但不会向花园的实例添加方法。您的意思是“向花园添加方法,但不会向花园的实例添加方法”?您的getInstance方法()将为您提供一个花园的单例实例,这就是您向其中添加鲜花的实例。从我的代码运行方式来看,这会向花园添加方法,但不会向花园的实例添加方法。您的意思是“向花园添加方法,但不会向花园的实例添加方法”?您的getInstance方法()将为您提供一个花园的单例实例,这就是您向其中添加鲜花的实例。从我的代码运行方式来看,这会向花园添加方法,但不会向花园的实例添加方法。您的意思是“向花园添加方法,但不会向花园的实例添加方法”?getInstance方法()将为您提供一个花园的单例实例,这就是您将花添加到的实例。