読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

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();

こちらはテストケートでたまに使ってます。