今日の記録4 :主にjavaのenum
java
配列の生成と同時に初期化する方法
例
table.putCard(new Card[] {card});
変数について
初期化していないint型の変数をフィールドで宣言して、
++をしてもコンパイルエラーにならない
rangeの範囲
range(0,10)とした場合は0から9まで。rangeは以上未満が基本
java
//0から9までの要素をもつ配列
int[] arr=IntStream.range(0,10).toArray();
toArrayのClassCastExceptionが発生
参考サイト:http://www.dab.hi-ho.ne.jp/sasa/biboroku/java/toArray.html
toArrayの第一引数に変換先の配列を入れないとClassCastExceptionが発生する
例
return (Card[]) putCards.toArray(new Card[] {});
//下記コードはClassCastExceptionが発生する
//return (Card[]) putCards.toArray();
Enum
Enumの仕様
enum宣言で仕様した型はjava.lang.Enumクラスの継承型。
enumは内部的にクラスであるが、newはできない。その代わり、enum宣言ないに列挙したenum定数が暗黙にオブジェクトを生成する。
当然利用側は参照渡しで受け取る。
public enum Gender {
//暗黙に生成されるstaticなオブジェクト
MAN,
WOMAN,
OTHER;
}
enumはクラスなため、コンストラクタやフィールド、メソッドを追加できる
public enum Gender {
MAN("Man",0),
WOMAN("Woman",1),
OTHER("Other", 2);
private final String nameForDisp;
private final int valueForDb;
private Gender(String nameForDisp, int valueForDb) {
this.nameForDisp=nameForDisp;
this.valueForDb=valueForDb;
}
@Override
public String toString() {
return this.nameForDisp;
}
public int toDatabaseValue() {
return this.valueForDb;
}
}
enumの要素数を取得したい
Gender.values().length;
Author And Source
この問題について(今日の記録4 :主にjavaのenum), 我々は、より多くの情報をここで見つけました https://qiita.com/AykeJq0ILeYFOR4/items/b238fb4d92c72f5a5ace著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .