使用lombok添加列表方法

Kri*_*ols 9 java lombok

我目前正在替换所有标准POJO,以便将Lombok用于所有样板代码.

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

生成代码:

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

public Object getObject(){..}

public void setObject(List<Object> o){..}
Run Code Online (Sandbox Code Playgroud)

我需要额外的东西:

public void addObject(Object o) {..}
Run Code Online (Sandbox Code Playgroud)

任何人都知道这是否很快到达那里或者这是不可能的?

Ond*_*žka 4

1)我找不到它的票,并且根据对其他答案的评论,我提交了一张: https: //github.com/rzwitserloot/lombok/issues/1905 所以让我们看看:)

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<>();
}
Run Code Online (Sandbox Code Playgroud)

生成:

Foo#add(E e)
Foo#addAll(Collection<? extends E> c)

Foo#get(int index)
Run Code Online (Sandbox Code Playgroud)

请参阅此论坛帖子:https://groups.google.com/forum/#! topic/project-lombok/alektPraJ_Q