Java 列挙型は、一般に、1 年の 4 つの季節、1 年の 12 か月、1 週間の 7 日、および南東、北西などの方向。
Java 列挙クラスは enum キーワードを使用して定義され、各定数はカンマで区切られます。
たとえば、色の列挙クラスを定義します。
enum Color { RED, GREEN, BLUE; }
上記の列挙クラス Color の色定数には、それぞれ赤、緑、青を表す RED、GREEN、BLUE が含まれます。
使用例:
enum Color { RED, GREEN, BLUE; } public class Test { // 执行输出结果 public static void main(String[] args) { Color c1 = Color.RED; System.out.println(c1); } }
上記のコードを実行した出力結果は次のとおりです:
RED
列挙型を使用します。内部クラスの例
列挙型クラスは内部クラスでも宣言できます:
public class Test { enum Color { RED, GREEN, BLUE; } // 执行输出结果 public static void main(String[] args) { Color c1 = Color.RED; System.out.println(c1); } }
上記のコードを実行した出力結果は次のとおりです:
RED
各列挙はクラスを通じて内部的に実装され、すべての列挙値は public static Final です。
上記の列挙型クラスの色変換は内部クラスに実装されています:
class Color { public static final Color RED = new Color(); public static final Color BLUE = new Color(); public static final Color GREEN = new Color(); }
列挙型要素を反復します
for ステートメントを使用して反復できます。列挙要素:
enum Color { RED, GREEN, BLUE; } public class MyClass { public static void main(String[] args) { for (Color myVar : Color.values()) { System.out.println(myVar); } } }
上記のコードを実行した出力結果は次のとおりです:
RED
GREEN
BLUE
# #switch で列挙を使用する 列挙クラス
列挙クラスは switch ステートメントでよく使用されます:enum Color { RED, GREEN, BLUE; } public class MyClass { public static void main(String[] args) { Color myVar = Color.BLUE; switch(myVar) { case RED: System.out.println("红色"); break; case GREEN: System.out.println("绿色"); break; case BLUE: System.out.println("蓝色"); break; } } }上記のコードを実行した出力結果は次のとおりです:
Blue
values()、ordinal()、および valueOf() メソッド
enum によって定義された列挙クラスは、java.lang.Enum クラスを継承します。デフォルトでは java を実装しており、lang.Seriablizable と java.lang.Comparable の 2 つのインターフェイスがあります。 values()、ordinal()、および valueOf() メソッドは java.lang.Enum クラスにあります。- values() は列挙クラス内のすべての値を返します。 。
- ordinal() メソッドは、配列インデックスと同様に、各列挙定数のインデックスを見つけることができます。
- valueOf() メソッドは、指定された文字列値の列挙定数を返します。
enum Color { RED, GREEN, BLUE; } public class Test { public static void main(String[] args) { // 调用 values() Color arr[] = Color.values(); // 迭代枚举 for (Color col : arr) { // 查看索引 System.out.println(col + " at index " + col.ordinal()); } // 使用 valueOf() 返回枚举常量,不存在的会报错 IllegalArgumentException System.out.println(Color.valueOf("RED")); // System.out.println(Color.valueOf("WHITE")); } }
RED インデックス 0GREEN インデックス 1
BLUE インデックス 2
RED
列挙型クラスのメンバー
通常のクラスと同様、列挙型でも独自の変数、メソッド、コンストラクターを使用できます。コンストラクターはプライベート アクセス修飾子のみを使用できます。したがって、外部から呼び出すことはできません。 列挙には、具象メソッドと抽象メソッドの両方を含めることができます。列挙型クラスに抽象メソッドがある場合、列挙型クラスのすべてのインスタンスはそれを実装する必要があります。enum Color { RED, GREEN, BLUE; // 构造函数 private Color() { System.out.println("Constructor called for : " + this.toString()); } public void colorInfo() { System.out.println("Universal Color"); } } public class Test { // 输出 public static void main(String[] args) { Color c1 = Color.RED; System.out.println(c1); c1.colorInfo(); } }上記のコードを実行した出力結果は次のとおりです。
呼び出されたコンストラクター : RED推奨チュートリアル: 「呼び出されたコンストラクター : GREEN
呼び出されたコンストラクター : BLUE
RED
Universal Color
Java チュートリアル」
以上がJAVA列挙型(enum)の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 中国語版
中国語版、とても使いやすい

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、
