问题标签 [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.

0 投票
3 回答
336 浏览

java - 如何使用 Supplier 作为 Fallback 定义 BiFunction 以生成一些对象?

这段代码有什么问题?我需要创建一个依赖 BiFunction 的工厂方法来完成它的工作。

编译器告诉我:

但是 B 扩展了 A,B::new 为 B 生成了供应商 ...

0 投票
2 回答
340 浏览

java - 方法引用似乎并不总是捕获实例

我知道这个主题有很多问题,即使是最近的一个,但我仍然无法解决一件事。考虑以下功能接口

而这个实现:

如果我查看这些线程12,我希望以下代码输出"Bob"而不是抛出 aNullPointerException因为据我所知,当我创建我的供应商时,它会捕获Person实例。

它正确输出"Bob"

现在我不明白的是为什么下面的代码也不输出"Bob"

它实际上输出"Alice"

在我看来,在第一个示例中,lambda 在创建 Person 对象时捕获了它的状态,并且在调用它时不会尝试重新评估它,而在第二种情况下,它似乎没有捕获它, 但在调用它时会重新评估它。

编辑 在重新阅读其他线程并使用 Eran 的回答后,我用 2 个指向同一个实例的人写了那个位:

"Alice"现在我可以看到即使 p1 为空,它们也会输出,因此方法引用捕获了实例本身,而不是我错误假设的状态。

0 投票
0 回答
404 浏览

java - xxx 类型的构造对象与描述符的返回类型不兼容:T

我正在尝试构建一个收集器类,它将我的结果汇总到一个 TreeMap 中。我在为累加器/结果使用泛型类型时遇到问题。问题出现在我的供应商方法的定义中。

我的班级目前看起来像这样:

我调用它如下:

在我的班级中,我需要在哪里指定累加器/结果 (T) 的类型以使班级尽可能通用,以及如何在供应商中指定类型?

0 投票
2 回答
742 浏览

java - jufSupplier 使用 Mockito 测试延迟初始化

我有一个Sut使用延迟初始化实现的类java.util.function.Supplier。事实上它比下面的代码更复杂,但这是 Mockito 无法测试的最简单的形式。下面的测试会引发错误Wanted but not invoked ... However, there were other interactions with this mock。为什么 Mockito 不计算 的调用create?代码流实际进入create();我用调试器检查过。

0 投票
3 回答
244 浏览

java - JAVA-STREAM : 重复使用双倍的 DoubleStream

我需要一个技巧来解决这个问题我正在使用 Java 1.8 我从一个返回 DoubleStream 对象的方法中检索了一个对象。所以,问题是我无法在使用流后重用它。

这是代码的第一个版本:

问题是一旦条件为真,流就被消耗掉了,我不能重用它。所以我尝试使用供应商从供应商返回一个 doubleStream 并公开迭代它。

但是,当我尝试从已使用的流对象中恢复流时,仍然存在同样的问题。

这是我更新的代码:

但是我仍然有同样的问题,因为如果条件为真,我会从我已经使用的流中创建我的供应商。

谢谢你的帮助。

0 投票
1 回答
72 浏览

java - 为什么我会收到供应商的“令牌语法错误,结构错误”错误?

我收到以下代码的错误:

我不知道为什么,因为如果我直接从另一个不存在错误的文件中复制代码

我注意到,如果我删除 try-catch 语句,我不会收到错误消息

0 投票
2 回答
82 浏览

java - 使用 Java 流基于字符串创建新对象

我正在玩 Java Streams,我想知道是否有任何方法可以创建这样的代码块->

像这样进入Java Stream ->

我遇到了这个可行的解决方案,但我不相信......

0 投票
1 回答
1605 浏览

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 类中使用它。

0 投票
1 回答
86 浏览

javascript - 如何在 EA 自动化中找到将注释链接到连接器(以及将注释链接到元素)的注释链接

我有一个 Enterprise Architect 图表,其中一个注释链接(链接 L2)到一个连接器(链接 L1)。使用自动化 API:

  • myDiagram.diagramLinks 实际上包含 L1,任何指向元素的链接,但绝对不是链接到连接器的 L2
  • 同样,myNote.Connectors 将其连接器提供给 Elements,但不提供给 L1...

    1. 我该如何处理?强制使用 SQLQuery ?

    2. 我还想知道,一旦我找到 L1,我如何确定 L1.SupplierId 是 Element 还是 Connector ?谢谢 !

0 投票
0 回答
67 浏览

java - 如何使用供应商接口创建不同类的实例?

示例代码:

BusinessException一个(基本上是来自另一个组件的数字返回码,在我们这边显示为字符串)。现在BusinessException需要将任意实例转换为(其余)ApiExceptions。上面的示例将导致“0x42”出现 409“冲突”,否则会导致 500“内部错误”。

注意:构造函数采用相同数量的参数(具有相同的含义、底层异常和一些“子”返回代码)。

现在我想要一张地图,让我可以得到一些东西,然后我可以用它来创建所需的 ApiException 实例。以下不起作用,因为Supplier.get()不带任何参数,它只是为了概述我想要的:

这样我以后就可以简单地做:

换句话说:

  • 我想将我的不同案例放入地图中
  • 地图键:“返回码”
  • 映射值:构建我特定 ApiExceptions 的东西