首页 > 解决方案 > Java - 设置成员变量时,如何设置其他成员

问题描述

我有以下遗留代码,如下所示。我想知道在设置 BikeGroup 时有没有办法设置 BikeName 和 BikeModel ?基本上,当用户设置 BikeGroup 时,我们如何自动设置 Foo 的 BikeName 和 BikeModel 版本?不使用构造函数来设置值。我正在使用验证器(弹簧框架)设置 BikeGroup ......所以我不能使用构造函数或设置器来设置值。

Class Foo{
    private BikeGroup; // 1. when this is set
    private String bikeName; // 2. set this with value in BikeGroup
    private String bikeModel; // 3. and set this with value in BikeGroup
    //getters/setters
}

Class BikeGroup{
    private String bikeName;
    private String bikeModel;
    //getters/setters
}

标签: javaspringspring-validatormember-variables

解决方案


是的。但是Foo必须为构造函数命名Foo(并且您想将 a 传递BikeGroup给该构造函数,因此它需要一个参数)。而且你不放声明()class就像是,

class Foo {
    public Foo(BikeGroup bg) {
        this.bikeName = bg.getBikeName();
        this.bikeModel = bg.getBikeModel();
    }
    private String bikeName;
    private String bikeModel;
}

或者,使用二传手...

class Foo {
    public void setBikeGroup(BikeGroup bg) {
        this.bikeName = bg.getBikeName();
        this.bikeModel = bg.getBikeModel();
    }
    private String bikeName;
    private String bikeModel;
}

推荐阅读