この記事のすべての文は思いやりがあります。老人がそれを注意深く読んで練習するとき、間違いなく何かを得ることを願っています。
要約:この記事では、主に生産環境での列挙クラスの使用について説明します。まず、列挙クラスの概念を簡単に紹介することで議論したトピックを紹介します。その後、実際の戦闘部分に直接行きます。この記事では、実際の戦闘でより頻繁に使用され、一般的に使用される状況を紹介するだけなので、ラオスタイがそれを慎重に経験し、最終的に彼自身に変えることができることを願っています。最後に、列挙APIの簡単な紹介について説明します。導入されていない残りのコンテンツは、基本的に生産環境ではめったに使用されません。興味があれば、自分で詳細な研究を行うことができます。
列挙します
概念:列挙タイプはJava 5の新機能の一部です。特別なデータ型です。その特徴は、私たちのコードがより簡潔で安全であることです。ある程度まで、グローバルな観点からビジネスロジックをより明確に理解することができます(たとえば、注文の状態が列挙クラスとして定義された後、ビジネスロジックコードを見る必要はありません。この列挙クラスからの注文のすべての状態を理解するだけで、後のコードの並べ替えをより妥協する心にグローバルな印象を与えるだけです。
定義:最初に、enumを使用してenumクラスを定義します。次に、各列挙値(つまり、宣言された列挙)がコンマで分離されます。列挙値の後に操作コードがある場合は、最後の列挙値にセミコロンを追加します。最後に、Enumクラスで宣言された各値はインスタンスであること、つまりn enum値があり、コンストラクターはn回と呼ばれ、n enumインスタンスを作成することを忘れないでください。ここに小さな例があります:
Enum seansype {春、夏、秋、冬; seanstype(){system.out.println( "このコンストラクターが呼び出された回数を見てください"); }} public classシーズン{public static void main(string [] args){system.out.println(seanstype.spring); }}コンソール出力:
このコンストラクターが何回呼ばれているかを見てください。このコンストラクターが何回呼び出されたかを見てください。
概要:ここから、enumクラスで宣言された各列挙値が実際にコンストラクターを呼び出し、インスタンスを作成することがわかります。単純な理解は次のとおりです。各列挙値はインスタンスオブジェクトです。
実際の戦闘への参加はありません
(1)パラメーターのない列挙クラスを定義します
Enum seansype {春、夏、秋、冬}(2)実際に使用する
//実際の状況に従って次の使用法を選択しましたseansytype springtype = seansype.spring; //出力スプリングストリングスプリングストリング= seanstype.spring.toString(); //出力スプリング
2つの実用的な側面があります
(1)1つのパラメーターのみで列挙クラスを定義します
enum seansype {//コンストラクターにパラメーターを渡し、インスタンススプリング(「スプリング」)、夏(「夏」)、秋(「秋」)、冬(「冬」)を作成します。 //インスタンスプライベート文字列MSGに対応するパラメーターを定義します。 //必須:このコンストラクターシーズンタイプ(string msg){this.msg = msg; } //このメソッドは、対応するインスタンスパブリック文字列getmsg()のパラメーター値を取得できます{return msg; }}(2)実際に使用する
//インスタンスクラスに値を割り当てると、次のメソッド文字列msg = seanstype.spring.getmsg()を使用できます。 //出力スプリング
3つの実用的な対策
(1)2つのパラメーターを持つ列挙クラスを定義します
パブリックエインムシーズン{//コンストラクターにパラメーターを渡し、インスタンススプリング(1、「スプリング」)、夏(2、「夏」)、秋(3、「秋」)、冬(4、「冬」)を作成します。 //インスタンスプライベート整数キーに対応するパラメーターを定義します。プライベート文字列MSG; //書き込みする必要があります:このコンストラクターシーズン(整数キー、文字列msg)を通じて列挙値のインスタンスを作成します{this.key = key; this.msg = msg; } //多くの場合、フロントエンドから得られる値は列挙クラスのキーであり、その後、対応する列挙値を取得できます。 }}新しいIllegalargumentException( "要素一致なし" + key)を投げます。 } //このメソッドは、対応するインスタンスのキー値を取得できますpublic integer getKey(){return key; } //このメソッドは、対応するインスタンスのmsg値を取得できますpublic string getmsg(){return msg; }}(2)実際に使用する
// 1シーズンシーズンへのエクスポート= season.valueofkey(1); // spring instance = season.spring.getkey(); // spring instanceに対応する出力msgstringに対応するキーインテガーキーキーキーはmsg = season.spring.getmsg();
列挙クラスの概要
実際、列挙クラスがその概念を理解した後、列挙は非常に簡単になります。列挙クラスを自由に書くことができます。したがって、上記の実用的な例については、まずコンセプトを把握し、次に数回練習する必要があります。老人がこの知識をすばやく習得できるように、ここで重要な概念について詳しく説明します。まず、列挙クラスの列挙値にはパラメーターや複数のパラメーターがないことを忘れないでください。各列挙値はインスタンスであることを覚えておいてください。そして、もう1つの重要なポイントは、列挙値にnパラメーターがある場合、宣言された各列挙値がコンストラクターを呼び出してインスタンスを作成するため、コンストラクターにnパラメーター値がある必要があるため、パラメーターは1対1である必要があるためです。これを理解しているため、これらのnパラメーターを列挙クラスのnメンバー変数として定義するだけで、対応するget()メソッドを提供する必要があります。その後、インスタンスを通じてインスタンスでパラメーター値を自由に取得できます。列挙クラスをより便利にしたい場合は、実際の3で私の執筆方法を模倣できます。キーパラメーター値などの特定のパラメーター値を介して、対応する列挙値を取得し、必要な値を取得できます。
列挙API
Enumで定義する列挙クラスはすべてJava.lang.Enumクラスを継承し、APIを継承します。一般的に使用されるAPIは次のとおりです。
string name()
列挙名を取得します
int organic()
列挙の位置を取得します(subscript、初期値は0)
valueof(文字列msg)
MSGを介して対応する列挙タイプを取得します。 (たとえば、実際のバトル2の列挙クラスまたはその他の列挙クラスを使用できます。これらが適切に使用されている限り、この方法を使用できます)
values()
列挙クラスのすべての列挙値を取得します(たとえば、実際の戦闘3で使用されました)
要約します
上記は、Javaプログラミングの列挙の実際のコード共有に関するこの記事のすべての内容です。誰にとっても役立つことを願っています。興味のある友人は、このサイトの他の関連トピックを引き続き参照できます。欠点がある場合は、それを指摘するためにメッセージを残してください。このサイトへのご支援をありがとうございました!