if文のネストでのelseは好きではない
2007/04/07
java
好き嫌いでいいますと、if文のネストでのelseは好きではないです。
僕はreturnで抜けれるならreturnで抜けるコーディングを好みます。
それができない場合は、もちろん多々多々多々あります。
javaでは、if文のネストから抜けるのには、break ラベル;を使用します。
かっこわるい感じがしますが。
public class TestIf {
public static void main(String[] args) {
State state = new State();
state.state1 = true;
state.state2 = true;
a(state);
}
static class State {
boolean state1;
boolean state2;
}
protected static void a(State st) {
// breakを使ってif文のネストを抜ける
a: if (st.state1) {
if (st.state2) {
System.out.println("a @_@1");
break a;
}
System.out.println("a @_@2");
}
// この書き方は i am not like.二番目のifのelseが好きではない。
b: if (st.state1) {
if (st.state2) {
System.out.println("b @_@1");
} else {
System.out.println("b @_@2");
}
}
}
}
: