捕获?使用龙目岛建设者

capture of ? using Lombok builder

我有这个class

public class Hostel extends Hotel<Book> {
}

和另一个

@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(of = { "id" })
@SuperBuilder(toBuilder = true)
@JsonInclude(NON_NULL)
public class Hotel<T>  {
...
}

但是当我这样做时

Hostel hostel = Hostel.builder().build();

我遇到这个编译错误

 Required type: Hostel
Provided:
capture of ?

您没有关于旅馆的任何注释。 Hostel.builder() 真的 伪装 Hotel.builder()

所以作业必须是

final Hotel<?> build = Hostel.builder().build();

或者更准确地说(让静态方法服从于继承在我看来是一个错误)

final Hotel<?> build = Hotel.builder().build(); 

您可能想向 child class 添加一些 Lombok 注释。