Javaの関数インターフェースについての質問です。
ラムダ式、メソッド参照など、これは具体的にどうなっているのでしょうか?
java
1Function<String, String> enclose = s -> "[" + s + "]"; 2System.out.println( enclose.apply("foo") );
たとえばこのコードだと、匿名クラスのように内部的にはFunctionインターフェースを実装したクラスのオブジェクトが作られ、その匿名クラスの中で、ラムダ式の参照からapplyメソッドで実装されているという考えであっていますか?
メソッド参照に関しても、
Java
1class Main { 2 public static void main(String[] args) { 3 Supplier<int> spp = new A().methodcall(); 4 } 5} 6class A { 7 public int call() { 8 return 1; 9 } 10 11 public Supplier<int> methodcall() { 12 return this::call; 13 } 14}
このプログラムがだめなのはなぜか教えて下さい
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/06 03:40
2017/06/06 04:07
2017/06/06 08:21