gpt4 book ai didi

java - 在java中配对泛型类 - 如何最好地执行?

转载 作者:行者123 更新时间:2023-12-02 04:01:04 25 4
gpt4 key购买 nike

我目前有一个抽象类 Network 和一个接口(interface) Node。我想使用泛型来显示网络可以接受哪些节点以及节点可以连接到哪些网络。我当前的代码如下:

public abstract class Network<T extends Node> {
List<T> nodes;

public void addNode(T node) {
nodes.add(node);
node.setNetwork(this);
}
}

public interface Node<T extends Network> {
void setNetwork(T net);
}

以及其他一些方法,但问题已经存在:调用 setNetwork(this) 未经检查,如果有人创建无法连接到该节点的网络,则可能会产生错误网络类。有一个更好的方法吗?或者说这从一开始就是一种不好的做法并且应该避免?

最佳答案

这不是泛型的用途。如果您使用此方法,您很可能会遇到各种警告和错误。相反,我建议您简单地为每种网络添加某种类型 ID,并检查连接上的网络 ID - 因此当您向网络添加新节点时。

关于java - 在java中配对泛型类 - 如何最好地执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34888378/

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