Supply::get 可以返回 null

Enz*_*ion 1 java java-8

的文档Supplier::get并未明确说明其返回的可能性或不返回null。是否可以 ?

我想这可能是a的情况Supplier<Void>。在这种情况下,我如何调用 mySupplier以确保它不会导致Supplier<Void>?换句话说,哪一个T是这样的以至于它可以不是Void

Enz*_*ion 5

正如@Michael 所指出的,它肯定可以,如以下代码片段所示:

import java.util.function.*;

class Ideone
{
    public static void main (String[] args) throws java.lang.Exception
    {
        Supplier<String> supplier = () -> null;
        System.out.println(supplier.get());
    }
}
Run Code Online (Sandbox Code Playgroud)

它痛苦地凸显了我对应对Provider.