ブログトップ 記事一覧 ログイン 無料ブログ開設

水まんじゅう

2016-06-14

Java 8から増えてたExplicit receiver parameters

Java 8からこういう書き方が出来るようになっていたようです。(初めて知った)

public class Main {

    public String getString(Main this) { // thisで自分自身が引数になっている
        return this.toString();
    }
    
    public static void main(String[] args) {
        Main main = new Main();
        System.out.println(main.getString()); //呼び出すときは何も書かなくてもよい
    }
}

何がうれしいかというと、自分自身を呼び出すときにアノテーションがつけれるようになる。(そして処理が出来るようになる)
なんか、おおっ!という感じ。

呼び出すときに何も書かなくてよいというのがものすごくJavaっぽくないので驚きました。

http://blog.joda.org/2015/12/explicit-receiver-parameters.html

なお、これを使うとPMD5.4.1より前は死ぬ。
https://sourceforge.net/p/pmd/bugs/1455/

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/megascus/20160614/1465887510