问题标签 [supplier]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何使用 Supplier 作为 Fallback 定义 BiFunction 以生成一些对象?
这段代码有什么问题?我需要创建一个依赖 BiFunction 的工厂方法来完成它的工作。
编译器告诉我:
但是 B 扩展了 A,B::new 为 B 生成了供应商 ...
java - 方法引用似乎并不总是捕获实例
我知道这个主题有很多问题,即使是最近的一个,但我仍然无法解决一件事。考虑以下功能接口:
而这个实现:
如果我查看这些线程1和2,我希望以下代码输出"Bob"
而不是抛出 aNullPointerException
因为据我所知,当我创建我的供应商时,它会捕获Person
实例。
它正确输出"Bob"
现在我不明白的是为什么下面的代码也不输出"Bob"
?
它实际上输出"Alice"
在我看来,在第一个示例中,lambda 在创建 Person 对象时捕获了它的状态,并且在调用它时不会尝试重新评估它,而在第二种情况下,它似乎没有捕获它, 但在调用它时会重新评估它。
编辑 在重新阅读其他线程并使用 Eran 的回答后,我用 2 个指向同一个实例的人写了那个位:
"Alice"
现在我可以看到即使 p1 为空,它们也会输出,因此方法引用捕获了实例本身,而不是我错误假设的状态。
java - xxx 类型的构造对象与描述符的返回类型不兼容:T
我正在尝试构建一个收集器类,它将我的结果汇总到一个 TreeMap 中。我在为累加器/结果使用泛型类型时遇到问题。问题出现在我的供应商方法的定义中。
我的班级目前看起来像这样:
我调用它如下:
在我的班级中,我需要在哪里指定累加器/结果 (T) 的类型以使班级尽可能通用,以及如何在供应商中指定类型?
java - jufSupplier 使用 Mockito 测试延迟初始化
我有一个Sut
使用延迟初始化实现的类java.util.function.Supplier
。事实上它比下面的代码更复杂,但这是 Mockito 无法测试的最简单的形式。下面的测试会引发错误Wanted but not invoked ... However, there were other interactions with this mock
。为什么 Mockito 不计算 的调用create
?代码流实际进入create()
;我用调试器检查过。
java - JAVA-STREAM : 重复使用双倍的 DoubleStream
我需要一个技巧来解决这个问题我正在使用 Java 1.8 我从一个返回 DoubleStream 对象的方法中检索了一个对象。所以,问题是我无法在使用流后重用它。
这是代码的第一个版本:
问题是一旦条件为真,流就被消耗掉了,我不能重用它。所以我尝试使用供应商从供应商返回一个 doubleStream 并公开迭代它。
但是,当我尝试从已使用的流对象中恢复流时,仍然存在同样的问题。
这是我更新的代码:
但是我仍然有同样的问题,因为如果条件为真,我会从我已经使用的流中创建我的供应商。
谢谢你的帮助。
java - 为什么我会收到供应商的“令牌语法错误,结构错误”错误?
我收到以下代码的错误:
我不知道为什么,因为如果我直接从另一个不存在错误的文件中复制代码
我注意到,如果我删除 try-catch 语句,我不会收到错误消息
java - 使用 Java 流基于字符串创建新对象
我正在玩 Java Streams,我想知道是否有任何方法可以创建这样的代码块->
像这样进入Java Stream ->
我遇到了这个可行的解决方案,但我不相信......
java - HK2 服务具体化失败 javax.ws.rs.core.UriInfo 日志中的警告异常:在 UriInfo 类中找不到合适的构造函数
在调用某些 Rest 服务时,我收到 HK2 reification failed 错误。最近我将我的应用程序从 JDK 8 迁移到 Open jdk 12。
我将 AbstractBinder 包从 org.glassfish.hk2.utilities.binding.AbstractBinder 替换为 org.glassfish.jersey.internal.inject.AbstractBinder。此外,我使用的自定义绑定工厂类之前实现了 org.glassfish.hk2.api.Factory,但现在我对其进行了修改以实现 java.util.function.Supplier。这给了我提到的错误。请看一下代码:
自定义绑定工厂用于其他一些操作,例如关闭连接等。我是否以正确的方式进行操作,或者我应该使用不同的方法来定义我的自定义工厂并在 AppBinder 类中使用它。
javascript - 如何在 EA 自动化中找到将注释链接到连接器(以及将注释链接到元素)的注释链接
我有一个 Enterprise Architect 图表,其中一个注释链接(链接 L2)到一个连接器(链接 L1)。使用自动化 API:
- myDiagram.diagramLinks 实际上包含 L1,任何指向元素的链接,但绝对不是链接到连接器的 L2
同样,myNote.Connectors 将其连接器提供给 Elements,但不提供给 L1...
我该如何处理?强制使用 SQLQuery ?
我还想知道,一旦我找到 L1,我如何确定 L1.SupplierId 是 Element 还是 Connector ?谢谢 !
java - 如何使用供应商接口创建不同类的实例?
示例代码:
有BusinessException
一个键(基本上是来自另一个组件的数字返回码,在我们这边显示为字符串)。现在BusinessException
需要将任意实例转换为(其余)ApiExceptions。上面的示例将导致“0x42”出现 409“冲突”,否则会导致 500“内部错误”。
注意:构造函数采用相同数量的参数(具有相同的含义、底层异常和一些“子”返回代码)。
现在我想要一张地图,让我可以得到一些东西,然后我可以用它来创建所需的 ApiException 实例。以下不起作用,因为Supplier.get()
不带任何参数,它只是为了概述我想要的:
这样我以后就可以简单地做:
换句话说:
- 我想将我的不同案例放入地图中
- 地图键:“返回码”
- 映射值:构建我特定 ApiExceptions 的东西