白旗仙javaリアルタイム学習11:列挙型
8643 ワード
enum列挙型 C言語にもある(動作が少し違う) 相関定数を束ねる type-safe
定義#テイギ#
Enum Enum名称{定数1,定数2,...}一般クラスとは異なり、公用として発表できる 使用すると、enumに相当する値が必要な場合が多く、使用する場合は以下のようになります. enumの作成者はprivateですのでご注意ください
java.lang.Enum https://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html すべての列挙型の祖先 Enum method名義でenumを入手できます. 適切に使用
valuesこのenumタイプの全体配列が得られる. 同じく非常に役に立つ カイドウエンム順出現. Color.WHITE.next()といえばBLACKが出てきます. EnumSethttps://www.baeldung.com/java-enumset活用法あり. 「SetとしてEnumを使いたいならEnumSetがいい」そう言えばまだ使ったことがない.文章出版後にハート型の文章を読んで今日の放送で勉強してから追加整理しましょう
class Chess {
enum Color {WHITE, BLACK}
}
Enum定義、宣言、使用法定義#テイギ#
Enum Enum名称{定数1,定数2,...}
enum Color {WHITE, BLACK, NONE}
使用Color color = Color.WHITE;
if (color == Color.BLACK) {
//...
}
クラス内のenum宣言public class Chess {
public enum Color {
WHITE("white"), BLACK("black");
private String value;
Color(String color) {
this.value = color;
}
public String getValue() {
return this.value;
}
}
private Color color;
public Chess(Color color) {
this.color = color;
System.out.println(color.getValue());
}
}
Enumが提供する方法java.lang.Enum
Class<E> getDeclaringClass()
String name()
int ordinal()
T valueOf(Class<T> enumtype, String name)
valueOf public static void main(String[] args) {
Color w = Color.valueOf("WHITE");
System.out.println(w.getValue());
}
結果:ホワイトvalues
Color[] colors = Color.values() //전체가 다 들어옴
ordinal()private Color[] colors = Color.values()
public Color next() {
return color[(this.ordinal() + 1) % colors.length];
}
Reference
この問題について(白旗仙javaリアルタイム学習11:列挙型), 我々は、より多くの情報をここで見つけました https://velog.io/@honux/백기선-자바-라이브-스터디-11-열거형テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol