1

我有一个名为排名的课程。它有一定的等级:将军、士兵、下士、市长。

现在我需要通过排名将其设置为默认值:

  1. 士兵
  2. 下士
  3. 市长
  4. 一般的。

这是会员:

private static char Ranks[]; // size 4

我在哪里可以默认设置它们,例如:

Ranks[0] = soldier;
Ranks[1] = corporal...

我真的不知道将默认值放在哪里,所以程序会知道默认情况下士兵是 Ranks[0]。进入构造函数?入会员?

4

1 回答 1

9

我建议改用枚举。

您可以在类中有一个常量,使用 Enum 来指出默认值,并有一个构造函数/设置器来代替另一个。

public enum Rank {
    SOLDIER, CORPORAL, MAYOR, GENERAL
}

...

public class MilitaryPerson {

    private static final Rank DEFAULT_RANK = Rank.SOLDIER;

    private Rank rank;

    public MilitaryPerson() {
        this.rank = DEFAULT_RANK;
    }

    public MilitaryPerson(Rank rank) {
        this.rank = rank;
    }

    // ...

}

另一种(更好的)解决方案是在配置文件中设置默认值(例如 *.properties)

于 2013-04-14T00:26:44.637 回答