是否建议使用私有静态嵌套类作为数据存储?

问题描述 投票:0回答:0

我有

Generator
生成随机数据,这些数据表示为
Bike
类。

代码如下:

public final class Generator {
    public void generate() {
        ...
        for (int i = 0; i < initCapacity; i++) {
            switch (randomDigit) {
                case RETRO_DIGIT -> instance.addData(
                        new RetroBike(Brand.BMW, Storage.RETRO_SPZ, Storage.RETRO_CENA, Storage.RETRO_WEIGHT)
                );
                case SPORT_DIGIT -> instance.addData(
                        new SportBike(Brand.BMW, Storage.SPORT_SPZ, Storage.SPORT_CENA, Storage.SPORT_CYLINDER)
                );
                case STANDARD_DIGIT -> instance.addData(
                        new StandBike(Brand.HONDA, Storage.STAND_SPZ, Storage.STAND_CENA, Storage.STAND_SPEED)
                );
            }
        }
    }

    private static final class Storage {
        static final String RETRO_SPZ = "3H0 3333";
        static final String SPORT_SPZ = "1AS 1111";
        static final String STAND_SPZ = "4B5 4588";

        static final int RETRO_CENA = 1300;
        static final int SPORT_CENA = 1200;
        static final int STAND_CENA = 100;

        static final double RETRO_WEIGHT = 120;
        static final int SPORT_CYLINDER = 1;
        static final int STAND_SPEED = 5;
    }
}

我可以直接在构造函数中直接使用值,而不是使用 嵌套类,但我想避免 magic numbers,所以这就是我想出的。问题是,创建这样一个 static 嵌套类 并将其用作初始数据的存储来创建每个

Bike
是一种不好的做法吗?

java inner-classes static-classes
© www.soinside.com 2019 - 2024. All rights reserved.