gpt4 book ai didi

java - 带有 Java 泛型的构建器模式

转载 作者:行者123 更新时间:2023-12-01 23:00:54 28 4
gpt4 key购买 nike

我不太明白如何最好地为以下泛型层次结构实现构建器模式。

基类,

@lombok.Data
public class Node<T> {

private T data;
private String source;
}

child 类,

@lombok.Data
public class MyNode extends Node<MyNode> {
private String firstDummy;
private String secondDummy;
}

是否可以将匿名构建器类应用于父类并在子类中扩展它?

已更新

如果我有一个像这样的父级匿名构建器,

public class Node<T> {

private T data;
private final String source;

public static abstract class Builder<S extends Node> {

private String source;

public Builder<S> withSource(String source) {
this.source = source;
return this;
}

public abstract S build();
}

public static Builder<?> builder() {
return new Builder<Node>() {
@Override
public Node build() {
return new Node(this);
}
};
}

protected Node(Builder<?> builder) {
this.source = builder.source;
}
}

如何在 Node 类中实现 T 的构建器?

最佳答案

如果您想练习实现构建器,那么是的,您可以实现它们。 @nixgadget 的提示很好。

但是,如果您只需要一个构建器,请添加注释 @Builder,Lombok 将为您做到这一点。

关于java - 带有 Java 泛型的构建器模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58422391/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com