列挙は、独自の定義に役立つ名前付き定数のセットに他なりません。 。プログラム内の変数のタイプを識別できると、それらを定義するのが簡単になります。そう、 列挙型 コンパイル時にすべての値をすでに認識している場合に使用されます。この記事では、で列挙を定義する方法を説明します 例の助けを借りて。
始めましょう!
Javaの列挙とは何ですか?
列挙 基本的には名前付き定数のリスト。 Javaでは、クラスタイプを定義します。それは持つことができます コンストラクター 、メソッドおよび インスタンス変数 。を使用して作成されますインクルード 列挙型 キーワード。デフォルトでは、各列挙定数は 公衆 、 静的 そして 最後の 。列挙型はクラス型を定義し、コンストラクターを持っていますが、インスタンス化する必要はありません。 列挙型 を使用してインクルード 新着 変数。列挙型変数は、プリミティブ変数と同じ方法で使用および宣言されます。
それでは、列挙の詳細を見て、その構文と宣言を理解しましょう。
Javaでの列挙の定義
列挙型宣言は、 またはクラス内。ただし、メソッド内でEnumを宣言することはできません。その宣言を理解するために小さな例を見てみましょう。まず、クラス外で列挙型を宣言する方法を説明します。
1.クラス外のJavaで列挙型を宣言する
enum Directions {//クラスキーワードの代わりにenumキーワードが使用されますNORTH、SOUTH、EAST、WEST} public class enumDeclaration {public static void main(String [] args){Directions d1 = Directions.EAST //新しいキーワードは必要ありません新しいオブジェクト参照を作成しますSystem.out.println(d1)}}
出力:
東
2.クラス内でJavaで列挙型を宣言する
public class enumDeclaration {enum Directions {NORTH、SOUTH、EAST、WEST} public static void main(String [] args){Directions d1 = Directions.EAST //新しいオブジェクト参照を作成するために新しいキーワードは必要ありませんSystem.out.println (d1)}}
出力:
東
列挙型内の最初の行は定数のリストである必要があります。次に、メソッドを使用できます。 、および ビルダー 。基本的に、列挙型は変数と定数のグループを表します。
注意:
- 列挙型は基本的に型の安全性を向上させます。
- スイッチケースの例でさまざまに使用できます。
- 列挙型は簡単にトラバースできます。
- 列挙型には、フィールド、コンストラクター、およびメソッドがあります。
- 列挙型は基本的に多くを実装します インターフェイス ただし、クラスを拡張できないため、クラスを拡張できません。 Enumクラスを内部的に拡張します 。
プログラムで列挙型を宣言して使用する方法がわかったので、switchcaseステートメントを使用してこれを実装する方法を理解しましょう。
Switchステートメントを使用した列挙
列挙値を使用して、switchステートメントを制御することもできます。すべてのcaseステートメントは、switchステートメントで使用されるのと同じ列挙型の定数を使用する必要があります。以下の例は同じことを示しています。
package Edureka importjava.util。* enum Directions {NORTH、SOUTH、EAST、WEST} public class Test1 {public static void main(String [] args){Directions d = Directions.SOUTH switch(d){//の名前列挙定数は列挙ケースなしで使用されますNORTH://列挙方向で定義された定数のみを使用できますSystem.out.println( 'North direction')break case SOUTH:System.out.println( 'South direction')break case EAST:System.out.println( 'East directiion')break case WEST:System.out.println( 'West directiion')break}
出力:
Javaの例でのハッシュマップの実装
南方向
列挙型を使用してswitchステートメントを実装する方法を理解していただければ幸いです。それでは、さらに進んで、何であるかを理解しましょう Values()およびValueOf() 方法とそれらの違い。
Values()およびValueOf()メソッド
Values(): 列挙型を作成すると、 Javaコンパイラ 内部的に追加します values() 方法。このメソッドは アレイ 列挙型のすべての値が含まれています。
構文:
public static enum-type [] values()
ValueOf(): このメソッドは、値がに等しい列挙定数を返すために使用されます このメソッドの呼び出し中に引数として渡されます。
構文:
public static enum-type valueOf(String str)
それでは、これらのメソッドをより詳細に理解するためのプログラムを作成しましょう。
enum Colors {black、red blue、pink、white} class Test {public static void main(String args []){Colors c System.out.println( 'enum type Colorsのすべての定数は次のとおりです:')Colors cArray [] = Colors.values()//タイプColors for(Colors a:cArray)の定数の配列を返します// foreachループを使用しますSystem.out.println(a)c = Colors.valueOf( 'red')System.out.println ( 'I Like' + c)}}
出力:
列挙型のすべての定数色は次のとおりです。黒赤青ピンク白私は赤が好きです
それがあなたが使うことができる方法です Values() メソッドに存在するすべての列挙型を含む配列を返すメソッドと Valueof() 列挙定数を返します。この概念をご理解いただければ幸いです。
それでは、さらに進んで、Javaでの列挙の実装を理解しましょう。 ビルダー 、 インスタンス変数 と方法。
コンストラクター、インスタンス変数、メソッドを使用した列挙
基本的に、列挙型にはコンストラクターを含めることができ、列挙型クラスのロード時に列挙型定数ごとに個別に実行されます。それだけでなく、列挙型は具体的なメソッドを作成することもできます。コンストラクター、インスタンス変数、メソッドを使用した列挙型の実装を理解するためのコードを記述しましょう。
LinuxでのJavaクラスパスの設定
enum Student {mack(11)、Birdie(10)、Son(13)、Victor(9)private int age // enumで定義された変数Studentint getage {return age} // enumで定義されたメソッドStudentpublic Student(int age )//列挙型で定義されたコンストラクター{this.age = age}}クラスEnumDemo {public static void main(String args []){Student S System.out.println( 'Age of Victor is' + Student.Victor.getage( )+ '年')}}
出力:
ビクターの年齢は9歳です
ここで、列挙型変数を宣言するとすぐに( 学生 )、コンストラクターは1回呼び出され、括弧内に指定された値を使用して、すべての列挙定数の年齢パラメーターを初期化します。だから、それはそれがどのように機能するかです。
これで、列挙に関する記事の終わりになります。 Java 。参考になれば幸いです。
チェックしてください 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社であるEdurekaが世界中に広がっています。私たちはあなたの旅のすべてのステップであなたを助けるためにここにいます、このJavaインタビューの質問に加えてなるために、私たちはJava開発者になりたい学生と専門家のために設計されたカリキュラムを考え出します。
質問がありますか?この「Javaでの列挙」の記事のコメントセクションでそれについて言及してください。できるだけ早くご連絡いたします。