ラムダは匿名クラスのシンタックスシュガーだとか言われますけど、オブジェクトの作られ方が違いますね。 というのを検証してみます。 (jdk1.8.0_112で動かしています) ループの中でhogeにラムダを渡して、hogeでオブジェクトを表示します。 まず匿名クラスを使ったコード。 public class LambdaObj { public static void main(String[] args) { for (int i = 0; i < 2; ++i) { hoge(new Runnable() { @Override public void run() { } }); } } static void hoge(Runnable r) { System.out.println(r); } } 実行するとこう。 myproject.LambdaObj$1@15db9742 myp