Adryr83:
私はこのコードを書くが、それはコンパイルなぜ私は知りません。
UnaryOperatorは、特定の型の引数をとり、その引数の同じタイプの結果を返します。
私の質問:私は置けばif-statement
リターンでnull
、コンパイルエラーはありませんでしょうか?
null
その引数の型ではありません(私の場合には人形がありますか)?
内蔵されたことができる機能のインターフェースはnullの代わりに、その標準リターン(消費者、UnaryOperator、機能など)?
これは私のコードです:
import java.util.function.*;
public class Doll {
private int layer;
public Doll(int layer) {
super();
this.layer = layer;
}
public static void open(UnaryOperator<Doll> task, Doll doll) {
while ((doll = task.apply(doll)) != null) {
System.out.println("X");
}
}
public static void main(String[] args) {
open(s -> {
if (s.layer <= 0)
return null;
else
return new Doll(s.layer--);
}, new Doll(5));
}
}
どうもありがとう!
ジェイコブG.:
それをこのように考えます:
Doll d = null;
null
任意のオブジェクトのための有効な参照であり、そして機能的インターフェイスの違いはありません。