万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    Java8のラムダとクロージャ

    http://d.hatena.ne.jp/nowokay/comment?date=20130522#c

    import java.util.List;
    import java.util.function.Supplier;
    import java.util.ArrayList;
    
    public class MyClass {
        public static void main(String args[]) {
            List<Supplier<String>> list = new ArrayList<>();
            for(int i = 1; i <= 10; ++i){
                list.add( () -> String.format("%d番目", i));
            }
            list.forEach(s -> System.out.println(s.get()));
        }
    }

    Online Java Compiler - Online Java Editor - Java Code Online - Online Java Runnerで実行

    /MyClass.java:9: error: local variables referenced from a lambda expression must be final or effectively final
                list.add( () -> String.format("%d番目", i));
                                                      ^
    1 error