我正在尝试使用@RequiredArgsConstructor
创建基本的Recipe类,但是Lombok似乎没有正确创建所需的args构造函数。尽管它将成功创建其他构造函数,例如@AllArgsConstructor
,但即使我有用@NotEmpty
/ @NotNull
注释的值,所需的args构造函数也为空。我已经仔细检查了我是否已导入RequiredArgsConstructor
。
这是我的课程的精简版本:
@RequiredArgsConstructor
public class Recipe
{
@NotEmpty
String name;
@NotNull
ArrayList<Ingredient> ingredients;
@NotNull
ArrayList<String> steps;
// Time in mins
int time;
String creator;
}
由Lombok创建的构造函数(我在构建的类文件中检查了它为空。)>
请注意,当我在班级中将@NotNull
字段定为final时,Lombok将创建适当的必需args构造函数:
public Recipe(String name, ArrayList<Ingredient> ingredients, ArrayList<String> steps) { this.name = name; this.ingredients = ingredients; this.steps = steps; }
所以它看起来好像忽略了
@NotNull
批注。对于在此可能做错的任何指导,我将不胜感激。谢谢!
我正在尝试使用@RequiredArgsConstructor创建基本的Recipe类,但是Lombok似乎没有正确创建所需的args构造函数。虽然它将成功创建其他...
我错误地解释了Project Lombok文档,该文档说:“所有未初始化的final字段都具有参数,以及任何标记为@NonNull
且未在声明位置初始化的字段。”