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

使用lombok从现有对象生成对象

乐寒
2023-03-14

假设我有一个lombok注释类

@Builder
class Band {
   String name;
   String type;
}

我知道我能做到:

Band rollingStones = Band.builder().name("Rolling Stones").type("Rock Band").build();

类似于:

Band nirvana = Band.builder(rollingStones).name("Nirvana");

我在龙目岛的文件里找不到这个。

共有1个答案

狄阳秋
2023-03-14

可以使用toBuilder参数为实例提供toBuilder()方法。

@Builder(toBuilder=true)
class Foo {
   int x;
   ...
}

Foo f0 = Foo.builder().build();
Foo f1 = f0.toBuilder().x(42).build();

从文档中可以看到:

如果使用@builder生成生成器来生成您自己类的实例(除非将@builder添加到不返回您自己类型的方法中),那么您可以使用@builder(toBuilder=true)在您的类中生成一个名为toBuilder()的实例方法;它将创建一个新的生成器,该生成器以该实例的所有值开始。

免责声明:我是龙目岛开发人员。

 类似资料:
  • 问题内容: 可以说我有一个龙目岛注释类 我知道我可以做: 是否有一种简单的方法可以使用现有对象作为模板并更改其属性之一来创建Foo对象? 就像是: 我在lombok文档中找不到此文件。 问题答案: 您可以使用参数为实例提供方法。 从文档中: 如果使用@Builder生成生成器以生成您自己的类的实例(除非将@Builder添加到不返回您自己的类型的方法中,否则通常是这种情况),您可以使用@Build

  • 我得准备一些工作到明天,但我卡住了。(代码中的所有名称都是德语,不要混淆:)) 这是我的构造函数类,用于名为(card)的对象 现在还有另一个类,它应该生成一个由多张卡组成的对象。通常的语法是 但是如何让类生成具有随机名称的多个对象呢?如果我尝试在每个循环的

  • 问题内容: 我使用Json.Net这样填充一个类: 上面的结果JSON字符串填充了我的类中的几个属性。稍后我有一个新的JSON字符串,并希望使用其余属性填充相同的类。是否可以使用JSON.NET或方法?我基本上想在上面的代码行中添加/添加到我填充的帐户对象中。 我的课: 问题答案: 是的,您可以使用第二个JSON字符串来填充现有对象的属性。 这是一个例子: 输出: 小提琴:https : //do

  • 问题内容: 根据http://www.newtonsoft.com/json/help/html/PopulateObject.htm,您可以通过JSON字符串中定义的值来更新现有实例。我的问题是,我必须填充该对象的数据已经被解析为JToken对象。我当前的方法如下所示: 是否有更好的方法来完成此任务,而不必首先还原在创建JToken时已经完成的解析? 问题答案: 使用阅读器并将其传递给。返回的阅

  • 下面列出的代码不允许创建新书对象,即使有构造函数也不行。我得到了一个NullPointerException,我想这是因为我在初始化对象时出错了。最终目标是创建一个程序,询问用户是否要创建新的图书对象,当用户说“是”时,它会返回并创建另一个图书对象。

  • 问题内容: 这可能是一个愚蠢的问题,但是我还是会问。我有一个生成器对象: 我可以测量它的大小: 据说发电机会被消耗掉: …但保持不变。 使用字符串可以按我的预期工作: 如果有人能启发我,我将不胜感激。 问题答案: 不按照您的想法去做。该方法返回给定对象的内部大小(以字节为单位),而不是生成器将要返回的项目数。 Python无法事先知道生成器的大小。以下面的无限生成器为例(例如,有更好的方法来创建计