if文を式に変換する
Javaのif文は「文」なので値を返しません。条件を評価した結果に応じて値を返す「式」を作るには三項演算子を使いますが、「これがどうしても気に食わん!」という奇特な人のために(いるのか?)、こうすればifを「式」にして関数の引数にぶちこんだりできるよ!
System.out.println( new Object() { String x() { if ( true ) { return "a"; } else { return "b"; } }}.x());
実行結果です。
a
まぁ、可読性、パフォーマンスともに無駄が多いので製品コード使ったらクビになりそうだけど。あー、似たようなネタで長い文字列をさくっと作るっていうのは前に書いたなー。
Strign str = new StringWriter(){{ for(int i=0;i<100;i++) write("a"); }}.toString();
こちらはテストケートでたまに使ってます。