クラスで大きな列挙型が宣言されています
public enum CarMaker{
Honda,
Toyota,
Sony,
...;
public CarMaker at(int index){ //a method to retrieve enum by index
CarMaker[] retval = this.values();
return retval[index];
}
public final SomeObj val; //a value associated with each enum
//.. more custom functions if needed
}
各CarMakerのインスタンスは1つしか必要ないため、この列挙型をストレージとして使用する場合は悪い習慣です(配列のように、代わりにインデックスを使用して各要素にアクセスするため、より直感的な名前を使用できます。また、カスタム関数を使用することもできます。各要素について)
CarMaker A = CarMaker.Honda;
CarMaker B = CarMaker.at(1);
//Error above b/c 'at' is not a static member, can I make at a static member?
A.val = 5;
B.val = 6;
//Here I want A to be share data with B since both are "Honda"
//but it doesn't seem to do that yet
System.out.println(A)
System.out.println(B)
//Expected output:
//A: 6
//B: 6
今のところAとBは「ホンダ」の独自のインスタンスを作成しているようですが、共有してほしいです。出来ますか?