如何使对象从一个容器对象迁移到另一个容器对象。 (比如软件代理!)

时间:2016-04-28 12:54:10

标签: java object migrate

假设我有两个PARKING类对象,分别是P1和P2。 PARKING类具有唯一标识符(UUID)。 我还有CAR类的对象,它的名字是mycar。

我的汽车目前是在P1中构建的,现在想要迁移到P2。

以下是一些代码:

public class PARKING {

    public String ID = new String();
    ID  = UUID.randomUUID().toString();
    CAR car;

    public PARKING(CAR car) {
        this.car = car;
    }
    public PARKING (){

        }
    }


    public class CAR {

        public int ID;
        public String name = new String();

    }

    public static void main(String[] args) {
        CAR mycar = new CAR();
        PARKING P1 = new PARKING(mycar);
        PARKING P2 = new PARKING();   
    }    
}

请注意,我不希望P2接受mycar。 我的意思是这样的 P2.setCAR(P1.getCAR());

我希望汽车本身从其当前的P1对象迁移到另一个对象P2。

我希望我已经清楚地解释了这个问题。 提前致谢。

1 个答案:

答案 0 :(得分:0)

如果我理解了您的查询,那么您想要做的事情非常简单,这里有一个示例方法可以完成:

public void moveCars(PARKING toMoveFrom, PARKING toMoveTo){
    //Checking a car can be moved from A to B
    if (toMoveFrom.car != null && toMoveTo.car == null){
        //Put car in B
        toMoveTo.car = toMoveFrom.car;
        //Remove car from A
        toMoveFrom.car = null;
    }
    else{
        //Either car blocking way or no car in original parking, handle error
    }
}

这假设您已将PARKING.car属性设为公共或添加了公共getter / setter,以便您可以访问它。但是,如果您希望汽车能够自行移动,那么您需要在存储停车位的Car类上创建一个属性,然后通过该属性进行更改。选择,但这取决于你