まず、私は悪い英語をお詫びします。Java:シリアル番号を列挙型でカウントするにはどうすればよいですか?
列挙型を使用してシリアル番号でメッセージを取得したいと考えています。 例は次のとおりですが、どうすれば期待通りの結果が得られますか? または良い方法がありますか? 私は何をしたい「0を開始」とA1インスタンスがcallEndを呼び出すときに、私はwanto
がpublic enum State{
START("start"),
END("end");
public String msg;
private State(String msg){
this.msg = msg;
}
}
public class A{
public void callStart(){
System.out.println(State.START.msg);
}
public void callEnd(){
System.out.println(State.END.msg);
}
public static void main(String[] args){
A a1 = new A();
A a2 = new A();
a1.callStart(); // I wanna get start 0 here
a2.callStart(); // I wanna get start 1 here
a1.callEnd(); // I wanna get end 0 here
a2.callEnd(); // I wanna get end 1 here
}
}
申し訳ありませんが、あなたが何について話しています。それをもう少し説明しようと思いますか? –
'msg'は' private'です。あなたはゲッターメソッドを作成するか、あるいは 'public'にしなければなりません(どちらも、最終的に' final'にして、変更することはできません)。 – Siguza
'msg'はenumの値とほとんど同じであることに気づいています。なぜ[name() 'か' toString() '](http://stackoverflow.com/questions/13291076/java-enum-why-use-tostring-instead-of-name)を無効にするのはなぜですか? – Laurel