[英]Use Function as Supplier
由於 inheritance,葉類必須有一個Function<T, R>
用作Supplier<R>
。 (忽略傳遞的參數)
傳達未使用通用參數類型並且應該傳遞 null 的最佳方式是什么?
為了傳達某些變量、返回類型、參數等只能是null
的概念,可以使用Void
類型——只有一個有效值: null
。
因此,在您的情況下,您可以使用Function<Void, R>
來指示apply(null)
將始終被調用,因此 function 需要映射到某種供應商。 一般來說,您會希望使用Supplier<R>
代替,但在需要Function
的情況下,這可能是一個選項。
對於需要表示為函數的消費者也是如此:在這些情況下使用Function<T, Void>
並返回null
。
Void class 是一個不可實例化的占位符 class,用於保存對 Class object 的引用,表示 Java 關鍵字 void。
它不能被實例化,所以只能null
作為參數傳遞。
class SomeClass implement Function<Void, YourResultClass> {
//implement apply
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.