Java 使用lombok为列表添加方法

Java 使用lombok为列表添加方法,java,lombok,Java,Lombok,我目前正在替换我所有的标准POJO,以便在所有样板代码中使用Lombok 到目前为止还没有出现任何问题,但我在lombok实现中缺少的是,没有生成用于将一个对象添加到集合的方法 生成的代码: private List<Object> list = new ArrayList<>(); public Object getObject(){..} public void setObject(List<Object> o){..} 有人知道这是很快就会实现还是

我目前正在替换我所有的标准POJO,以便在所有样板代码中使用Lombok

到目前为止还没有出现任何问题,但我在lombok实现中缺少的是,没有生成用于将一个对象添加到集合的方法

生成的代码:

private List<Object> list = new ArrayList<>();

public Object getObject(){..}

public void setObject(List<Object> o){..}

有人知道这是很快就会实现还是不可能实现吗?

目前这肯定是不可能的。有这样一个提议,但优先级很低(甚至被拒绝)

事实上,我再也找不到了。你可能想试试自己的衣服

现在,我无意中发现了一个有趣的解决方案,仅限于一个变量

坏消息 这在不久的将来很难实现。有太多的特性请求来实现和维护它们(或者它们中的任何一部分)。看。

1)我找不到它的罚单,根据对另一个答案的评论,我提交了一张:让我们看看:)

2) 对于单个集合,似乎
@Delegate
可以完成以下任务:

interface CollectionAdders<E> {
  boolean add(E e);
  boolean addAll(Collection<? extends E> c);
}

interface ListGetters<E> {
  E get(int index);
}

class Foo {
  @Delegate(types={CollectionAdders.class, ListGetters.class})
  List<String> names = new ArrayList<>();
}
interface CollectionAdders{
布尔加法(E);

布尔加法(收集完整披露:我是龙目山的开发者之一。这在我们的名单上,但我不认为有什么问题。但这在我们自己的愿望清单上很高。我们正在考虑不同的方法,并定期自己讨论这些方法。如果我们有一个像样的建议,我们会向谷歌集团发送一封邮件。万一有人发现这一点。如果您不介意使用生成器,您可以使用annotation@rsavchenko这正是我的要求。谢谢!所以使用生成的getter-它返回您的列表-然后进行添加。如果您不喜欢它-您可以始终包装在自己的类中并向其添加方法。Lombok的功能
@Singular
正是您想要的。更新2021:我对Kotlin很满意,它减少了Lombok所针对的几乎所有样板代码。不要害怕语言转换-与Java的兼容性非常全面,我在cca学习了Kotlin 1周。这很有趣,感谢关于这个问题的更新:-)不幸的是,罗尔·斯皮尔克对此不屑一顾,他指出存在
@Builder
@Singular
,这两个词在国际海事组织中并不包括对集合操纵器的速记。你可以去那里投票:)由于泛型,这似乎对我不起作用,因为
@Delegate
没有指定泛型类型的方法,所以它将默认为Object。
interface CollectionAdders<E> {
  boolean add(E e);
  boolean addAll(Collection<? extends E> c);
}

interface ListGetters<E> {
  E get(int index);
}

class Foo {
  @Delegate(types={CollectionAdders.class, ListGetters.class})
  List<String> names = new ArrayList<>();
}
Foo#add(E e)
Foo#addAll(Collection<? extends E> c)

Foo#get(int index)