使用lombok添加列表方法

时间:2014-02-14 10:25:19

标签: java lombok

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

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

生成的代码:

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

public Object getObject(){..}

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

我想要的额外内容:

public void addObject(Object o) {..}

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

2 个答案:

答案 0 :(得分:4)

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

实际上,我再也找不到了。您可以尝试issue list

现在,我偶然发现thread显示了一个限于单个变量的有趣解决方法。

坏消息

这在不久的将来会得到不可思议的实施。有太多的功能请求要实现和维护它们(或者它们中的任何非平凡部分)。请参阅this issue comment

答案 1 :(得分:1)

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<>();
}

生成:

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

Foo#get(int index)

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