-
hmiyaji さんの復習
sjc-p
*****************************************************************
・列挙型と文字列の比較はできない。
enum Size{small, medium, large, Xlarge};
コンパイルエラー:if(s== "Xlarge")・列挙型の比較
for(Size s : Size.values()) {
true:if(s == Size.small)
true:if(Size.medium.equals(s))
true:if(s == Size.large)
false:if(s.equals("Xlarge"))
}
*****************************************************************
class Test {
void Test() {}
}
上記Testはメソッドと見なされコンパイルが通る。
*****************************************************************
class Animal {
Animal getAnimal() { return new Animal(); }
}
class Cat extends Animal {
Cat getAnimal() { return new Cat(); }
}
上記はコンパイルが通る。(共変戻り値)superがObject、subがIntegerなどでもOK
*****************************************************************
Comparableインタフェースを実装するときは、扱う型のデータ型をComparableの後に<>
を用いる必要がある。CompareTo()メソッドをオーバーライドする必要がある。
*****************************************************************
NullPointerExceptionはRuntimeExceptionのサブクラス。
*****************************************************************
拡大変換とautoboxingでは拡大変換が優先される
float f =1.0f;
void get(Float arg) {}
void get(double arg) { }
の場合、
get(f)とやるとvoid get(double arg)が実行される。
*****************************************************************
NumberFormatクラスのsetMaximumIntegerDigits()メソッドは整数部の最大桁数を設定する。
例:
NuberFormat nf = NumberFormat.getInstnce();
nf.setMaximumIntegeDigits(2); // 2桁に設定
System.out.println(nf.format(110.5));
10.5と表示される。
*****************************************************************
Compareインタフェースを実装する場合はcompare()メソッドを実装しなければならない。
*****************************************************************
列挙型にpublicやprotectedのコンストラクタを明示できない。privateでなければならないので
*****************************************************************復習登録日 : 2010年02月09日復習した日 : 2010年02月17日次の復習日 : 2010年03月19日 (あと 2 回)ドキュメント形式 : default