- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个简单的模型,如下所示。我可以在intellij结构 View 中看到wither函数。但编译器提示“变量 field1 可能尚未初始化”
@Wither
@Value
@NoArgsConstructor
@AllArgsConstructor
public class MyModel {
String field1;
String field2;
}
如果我初始化字段,我就不会再看到凋零函数。这里可能发生什么?
最佳答案
来自 documentation :
@Value
是 @Data
的不可变变体;默认情况下,所有字段都是私有(private)的和最终的,并且不会生成 setter 。
因此,String field1
变为final String field1
。
由于您也在使用 @NoArgsConstructor
Java 编译器提示“变量 field1 可能尚未初始化”,这是事实,因为您可以在代码中的某个位置执行
MyModel model = new MyModel();
由于构造函数没有初始化任何字段,Java 会提示。
来自Final (Java)维基百科:
最终变量只能通过初始化程序或赋值语句初始化一次。它不需要在声明时初始化:这称为“空白最终”变量。类的空白最终实例变量必须在声明它的类的每个构造函数中明确分配;类似地,空白的最终静态变量必须在声明它的类的静态初始值设定项中明确分配;否则,这两种情况都会出现编译时错误。
<小时/>这正是您的情况所发生的情况。
关于java - Lombok @Wither、@Value、@NoArgsConstructor、@AllArgsConstructor 不能一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49235876/
这些 Spring 注释的含义是什么,其背后是什么产品? @Builder @NoArgsConstructor @AllArgsConstructor 最佳答案 这些注释不是Spring注释,它来自
我是 Lombok 的新手。我使用 lombok 定义了以下模型。但是,当我尝试使用参数创建模型的对象时,它给出一个错误,指出未定义参数化构造函数。根据我的阅读,@AllArgsConstructor
标题几乎概括了它。我想知道我是否需要在构造函数中包含静态变量(我可能不需要)。 鉴于静态变量是静态的,我怀疑它们可能不是。但是我没有在 stackoverflow 上找到这个问题的任何答案。 最佳答案
我正在上这样的课 @Controller @RequestMapping(value = "/test") @AllArgsConstructor public class TestControlle
似乎很多人都有这个问题,但到目前为止我研究的问题都没有像我的问题那么基本。 我只得到了这个对象: 和我的主要方法中的基本调用: Bamm... 已经不工作了。编译失败并出现此错误 我正在使用 Inte
我正在尝试为另一个类定义一个枚举。 这是我的代码 import lombok.AllArgsConstructor; @AllArgsConstructor public enum State {
我在网上看到很多关于 IntelliJ 中 Spring Boot 应用程序的代码,很多都同时使用 @AllArgsConstructor和 @NoArgsConstructor在一起并且都是构造函数
我有一个自定义的无参数构造函数,我希望 Lombok 生成的构建器来调用它。我认为这相当于有一个带有所有参数的构造函数,首先调用这样一个自定义的无参数构造函数。 我会用一个例子来解释 @Builder
我有这门课... @RestController @RequestMapping("message") @AllArgsConstructor(onConstructor = @__(@Autowir
我有一个 POJO 类,如下所示: @Value @Builder public class XYZ { @NonNull private final String a; @N
我正在关注 youtube 上的教程,但我可以让 lombok 专门工作 AllArgsConstructor。这是一个 Maven 项目。 我有这个pojo; package com.exa
如果我使用Lombok指定@AllArgsConstructor,它将生成一个构造函数来设置所有声明的(不是最终的,不是静态的)字段。是否可以省略某些字段并为所有其他字段留下生成的构造函数? 最佳答案
我正在使用 Lombok 1.16.18 和 Gradle 4.0 以及 Java 8 和 Spring-Boot 1.5.9.RELEASE。 当我构建并运行项目时它成功了,但是当调用包含 Auto
如果我使用 Lombok 指定 @AllArgsConstructor,它将生成一个构造函数来设置所有声明的(不是最终的,不是静态的)字段。是否可以省略某些字段,并为所有其他字段留下生成的构造函数?
我正在编写一个简单的模型,如下所示。我可以在intellij结构 View 中看到wither函数。但编译器提示“变量 field1 可能尚未初始化” @Wither @Value @NoArgsCo
我在我的类中使用了 @AllArgsConstructor 注释,并希望确保参数不为空。有没有办法修改此注释以使其成为可能,或者我应该实现构造函数?谢谢 @Getter @Setter @ToStri
当我创建一个具有一个或多个字段的新 Java 类并将 @AllArgsConstructor 注释从 lombok 附加到它时,我会收到此消息 Error:(9, 1) error: 找不到符号类Co
我在类上使用 lombok 注释: @Value @NoArgsConstructor @AllArgsConstructor public class TestClass implements Se
我使用@RequiredArgsConstructor(onConstructor = @__(@Autowired))由 Lombok 提供,用于传入构造函数的所有 Autowired 字段。我有一
使用 spring-boot和 JPA 我有一个 Entity我想使用 lombok 来减少样板代码。但是在我的实体中有 id field 。我应该把它放在构造函数参数中 @AllArgsConstr
我是一名优秀的程序员,十分优秀!