Supplier 的 return 值可以递增吗
Can the return value for Supplier be incremental
我目前正在处理主题 消费者 和 供应商 并有以下问题。 Supplier 的 return 值可以递增吗?
以下人为设计的示例:我有一个简单的 class Person,其中 id 和 name。例如,如果出于测试目的我需要 10 个人,我想使用顺序 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);
}
或者结构 Supplier 不适用于此类用例?
当然可以。您不必使用 lambda。
new Supplier<Long>() {
long x = 0;
@Override public Long get() {
return x++;
}
}
我目前正在处理主题 消费者 和 供应商 并有以下问题。 Supplier 的 return 值可以递增吗?
以下人为设计的示例:我有一个简单的 class Person,其中 id 和 name。例如,如果出于测试目的我需要 10 个人,我想使用顺序 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);
}
或者结构 Supplier 不适用于此类用例?
当然可以。您不必使用 lambda。
new Supplier<Long>() {
long x = 0;
@Override public Long get() {
return x++;
}
}