gpt4 book ai didi

java - 如何确保类中的某个字段在 java 的所有实例中具有不同且唯一的值?

转载 作者:行者123 更新时间:2023-11-30 10:17:41 25 4
gpt4 key购买 nike

我是编码新手,最近我遇到了这个问题:我正在处理一个具有多个字段的类,我想确保该类的每个实例对于使用静态的特定字段具有唯一值变量。例如,考虑这个类:

public class NetworkNode  {
private String NodeName;
private int NodeNumber;
private boolean NodeAttraction;
....
}

在上面的代码中,我想确保从类 NetworkNode 创建的每个对象都具有唯一且不同的 NodeNumber,或者换句话说,任何两个 NetworkNode 对象都不应具有相同的 NodeNumber 字段。有什么方法可以做到这一点?谢谢。

最佳答案

如果您不关心实际值,只要它是唯一的,您可以自动为每个实例分配一个不同的 NodeNumber。使用静态变量,您可以在类 NetworkNode 中创建一个私有(private)静态计数器 nextNodeNumber:

private static int nextNodeNumber = 0;

然后在你的构造函数中你可以做

public NetworkNode() {
this.NodeNumber = nextNodeNumber;
++nextNodeNumber;
...
}

通过这种方式,您只需确保没有其他方法可以设置/更改 NodeNumbernextNodeNumber

如果您使用多个线程,则必须保护对 nextNodeNumber 的访问以防止异步访问。

关于java - 如何确保类中的某个字段在 java 的所有实例中具有不同且唯一的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49613168/

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