gson 停止Lombok设置属性的默认值

umuewwlo  于 2022-11-06  发布在  其他
关注(0)|答案(2)|浏览(191)

我有一个Lombok类,当我创建它的对象时,它正在为没有设置的属性设置默认值。在我没有为httpResponseCode设置值的地方,它被设置为0。我不希望这个变量使用默认的int值。有什么方法可以阻止它吗?

@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@NoArgsConstructor
@AllArgsConstructor
public class StatusInfo {
 public String reasonCode;
 public String result;
 public String description;
 public int httpResponseCode;
 }
fykwrbwg

fykwrbwg1#

它与Lombok无关。它是原始数据类型的默认行为。
您可以使用Package 类代替基元数据类型。

**例如:**Integer代表int,Double代表double,其他数据类型也是如此。您将分别获得默认值为null而不是0,0.0。

jhiyze9q

jhiyze9q2#

它的Java行为。在Java中,当创建对象时,它的属性将根据类型初始化为默认值:

boolean        # with value false
byte           # with value 0
short          # with value 0
char           # with value 0
int            # with value 0
long           # with value 0
float          # with value 0.0
double         # with value 0.0
class types    # with null

在Java中,数组也是由对象构造的,因此在创建类对象时,数组类型参数也是用null初始化的。
与Lombok岛无关。

相关问题