java供应商在任何情况下都会返回相同的对象吗
每当需要对象时,我都使用供应商创建列表实例java供应商在任何情况下都会返回相同的对象吗,java,Java,每当需要对象时,我都使用供应商创建列表实例 Supplier<Optional> supplier = ()->Optional.of(new LinkedList<>()); Supplier=()->可选的.of(新LinkedList()); 上述供应商多次从RecursiveTask.compute调用。在RecursiveTask.compute上,一旦调用supplier.get(),就会向其中添加一些对象 Optional<LinkedLis
Supplier<Optional> supplier = ()->Optional.of(new LinkedList<>());
Supplier=()->可选的.of(新LinkedList());
上述供应商多次从RecursiveTask.compute调用。在RecursiveTask.compute上,一旦调用supplier.get(),就会向其中添加一些对象
Optional<LinkedList> optList = supplier.get();
optList.get().add("<>");
可选optList=supplier.get();
optList.get().add(“”);
我相信supplier.get()总是调用可选的.of(new LinkedList())并在每次调用时返回新对象,就像正常的函数接口一样。它是否有可能为多个调用返回同一实例
我对java文档()中提到的以下语句感到有点困惑
不要求每次都返回新的或不同的结果
调用供应商的时间
您引用的文档中说,每次返回一个不同的值不是必需的。。。但是您显示的供应商每次都返回一个不同的值
是的,调用
supplier.get()
将在每次调用时执行相关代码,但它是否每次返回一个新实例或重用相同的结果取决于该代码。您引用的文档说,不要求每次都返回一个不同的值。。。但是您显示的供应商每次都返回一个不同的值
是的,调用
supplier.get()
将在每次调用时执行相关代码,但它是否每次返回一个新实例或重复使用相同的结果取决于该代码。鉴于您当前的实现,每次supplier
的get()都将返回一个新的可选实例
方法被调用
如果希望每次调用get()
时都返回相同的实例,则应创建一个实例,并让供应商返回该实例:
Optional<LinkedList<SomeThing>> instance = Optional.of(new LinkedList<SomeThing>());
Supplier<Optional> supplier = () -> instance;
Optional instance=Optional.of(new LinkedList());
供应商=()->实例;
鉴于您引用的文档,这将是一个有效的实现
当然,我不确定您为什么需要在这里用一个可选的来包装链接列表
,因为这个供应商
从来不会生成一个空的可选的鉴于您当前的实现,每次供应商的get()都会返回一个新的可选的实例
方法被调用
如果希望每次调用get()
时都返回相同的实例,则应创建一个实例,并让供应商返回该实例:
Optional<LinkedList<SomeThing>> instance = Optional.of(new LinkedList<SomeThing>());
Supplier<Optional> supplier = () -> instance;
Optional instance=Optional.of(new LinkedList());
供应商=()->实例;
鉴于您引用的文档,这将是一个有效的实现
当然,我不知道为什么需要在这里用可选的来包装链接列表
,因为这个供应商
从来不会生成空的可选的我认为java文档中的语句说,供应商的实现并不需要每次都返回不同的对象。但是,在您的情况下,您每次给供应商打电话时都会返回一个新的LinkedList。我认为java文档中的声明说,供应商的实现不需要每次都返回不同的对象。但是,在您的情况下,每次给供应商打电话时,您都会返回一个新的LinkedList。