类不会继承它所扩展的类的属性

问题描述 投票:0回答:1

我有这个更新课程:

@Getter
@Setter
@ToString
@NoArgsConstructor(access = AccessLevel.PUBLIC)
@AllArgsConstructor(access = AccessLevel.PACKAGE)
@Builder(toBuilder = true)
@EqualsAndHashCode
public class A {
  private ItemInfo itemInfo;

  public boolean hasErrors() {
    return (itemInfo!= null && itemInfo.hasErrors());
  }
}
@Getter
@Setter
@ToString
@NoArgsConstructor(access = AccessLevel.PUBLIC)
@AllArgsConstructor(access = AccessLevel.PACKAGE)
@Builder(toBuilder = true)
@EqualsAndHashCode
public class B extends A {

  private Price bestPrice;
  private Price alternativePrice;
}

我的测试班有:

mocked =
    B.builder()
        .itemInfo(null)
        .bestPrice(null)
        .alternativePrice(null)
        .build();

我收到一条错误消息:

Create method 'itemInfo' in 'BBuilder in B'
。我认为给定 B 扩展 A,B 应该包含 A 拥有的所有内容。我该如何解决这个问题?

java spring-boot builder
1个回答
0
投票

你可以尝试一下

@SuperBuilder
(实验性)

https://projectlombok.org/features/experimental/SuperBuilder

© www.soinside.com 2019 - 2024. All rights reserved.