簡體   English   中英

使用 Function 作為供應商

[英]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

使用java.lang.Void

Void class 是一個不可實例化的占位符 class,用於保存對 Class object 的引用,表示 Java 關鍵字 void。

它不能被實例化,所以只能null作為參數傳遞。

class SomeClass implement Function<Void, YourResultClass> {
  //implement apply
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM