当前位置: 首页 > 知识库问答 >
问题:

供应商的返回值是否可以递增

赫连瀚
2023-03-14

我目前正在讨论消费者和供应商的话题,有以下问题。供应商的返回值是否可以递增?

下面是一个做作的例子:我有一个简单的class Person,id和name。例如,如果出于测试目的我需要10个人,我想用顺序ID轻松地生成他们。从供应商处获取id时,如何增加id?

class Person {
    long id;
    String name;
}

这样做是我的想法:

Supplier<Long> ids      = ()-> 1L;
Supplier<String> names  = ()-> UUID.randomUUID().toString();

for (int i = 0; i < 10; i++) {
    Person p = new Person(ids.get(), names.get());
    System.out.println(p);
}

或者构造供应商不打算用于这种用例?

共有1个答案

邓崇凛
2023-03-14

当然你不必使用lambda。

new Supplier<Long>() {
  long x = 0;
  @Override public Long get() {
    return x++;
  }
}
 类似资料:
  • 问题内容: 我正在使用模拟器玩掷骰子,并且试图从同一方法返回两个值(或者我想这样做)。 当我写我的return语句时,我只是尝试放入“&”,它可以编译并正常运行;但是我无法访问第二个返回值。 当我将值返回为: 它适当地设置了赢或输的变量,但是如果我尝试执行以下语句中的简单操作: 它被分配与gamestatus相同的值… 0或1(赢或输)。以任何方式可以访问第二个返回值?还是有完全不同的方法来解决?

  • 所以我正在尝试重构以下代码: 我想出了下面的开头: 但是,它不编译(显然),因为不能抛出。有什么方法可以将它添加到的方法声明中吗? 还是只有这样才能做到? 更新后,我才意识到接口非常简单,因为它只有方法。我扩展的最初原因是优先于基本功能,例如默认方法。

  • 给定一个具有用于初始化的帮助器方法的类: 是否可以从\u int方法注释

  • 对于Jcache配置,我们需要有通用的XML配置参数(如timetolive)<我们正在使用EhCache进行开发,并可能在其他环境中使用其他符合Jsr107的缓存提供程序,如Infinispan。 是否可以让两个缓存提供程序都使用一个配置文件,并且如果需要,我们只需要为不同的环境更改一些参数? 可以在属性文件中定义这些属性并使用它们根据配置文件初始化缓存管理器吗? 我浏览了jsr107留档,但没

  • 问题内容: 如果实际查询不返回任何行,是否可以将查询中的所有列作为空列(不为null)或空行返回 问题答案: 通常,如果必须返回一个空行。 如果您的原始查询是 您可以将其变成子查询 这样可以确保查询的行数始终至少为1。

  • 或者这样会更好: 附注。抱歉开始新的话题,但我的业力不允许我评论答案。