回答編集履歴
1
単に「書ける条件」というのであれば
answer
CHANGED
@@ -27,4 +27,16 @@
|
|
27
27
|
はその通りになります。ただし、「何を返すかわかっている」というよりむしろ「変数の型で要求されているものを作成する」ニュアンスが強いです。ですから、
|
28
28
|
> 2:その関数型インターフェイス型の引数の型が分かっているか、メソッド参照などによって一つに決めることができる。
|
29
29
|
|
30
|
-
というよりもむしろ、「1により型が確定するので、引数として使うべき型も確定する」という関係でとらえるべきだと思います。
|
30
|
+
というよりもむしろ、「1により型が確定するので、引数として使うべき型も確定する」という関係でとらえるべきだと思います。
|
31
|
+
|
32
|
+
単に「ラムダ式を書ける条件」というなら以下のいずれかになるでしょう。
|
33
|
+
1.関数型インタフェース型の変数に代入する(例は上記で既出)
|
34
|
+
2.関数型インタフェース型の引数を要求するメソッドまたはコンストラクタに渡す
|
35
|
+
```java
|
36
|
+
// ThreadクラスのコンストラクタはRunnableを引数に要求するものがある
|
37
|
+
Thread thread = new Thread(() -> 何かの処理);
|
38
|
+
```
|
39
|
+
3.キャストする
|
40
|
+
```java
|
41
|
+
Object o = (Runnable) () -> 何かの処理;
|
42
|
+
```
|