0

我有这门课

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 ?
4

1 回答 1

2

您在 Hostel 上没有任何注释。Hostel.builder()真的伪装Hotel.builder()

所以任务必须是

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

或者更准确地说(使静态方法受制于继承是 IMO 的错误)

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

您可能想向子类添加一些 Lombok 注释。

于 2020-02-19T16:42:41.250 回答