いかがわさん,
平鍋です.
On Thu, 05 Jul 2001 09:16:00 +0900,
"IKAGAWA, Kauztomo" <k_ikagawa@....jp> said:
>> else if (sex.equals("FEMALE"))
>> sex = "FEMAIL";
> Spell missがありますが、大丈夫でしょうか。
> 実際のコードからのコピー&ペーストでなければ良いのですが・・・。
あ,間違ってます.コピー&ペーストではありませんので,良かっ
たです.この後,
static final String FEMALE = "FEMALE";
static final String MALE = "MALE";
をクラスに加えて,文字列リテラルの繰り返しを避けるリファクタ
リングを掛けました.
他の案として,C の enum 的に Sex リテラルを作る,という案が
ありました.
final class Sex { // like enum Sex { NOT_SPECIFIED, MALE, FEMAIL };
int sex;
public static final Sex NOT_SPECIFIED = new Sex(0);
public static final Sex MALE = new Sex(1);
public static final Sex FEMALE = new Sex(2);
private Sex(int sex) { // !! private !!
this.sex = sex;
}
}
class Person {
String name;
private Sex sex = Sex.NOT_SPECIFIED;
// ...
}
でも,今回は,複雑すぎる,ということでシンプルに String にし
ました.
以上