创建一个不可更改的 ID

Create a unchangeable ID

我正在寻找一种方法来为 java 中的对象制作一个不可更改的 ID。我认为这是非常基础的东西,但我是初学者。

如果这是我的代码:

public class Node implements IXYNode
{
 String id ="";
 String description ="";
 int x =0;
 int y =0;

 public XYNode(String id, int x, int y)
 {
  this.id=id;
  this.x=x;
  this.y=y;

  if(this.id.equals(null) || this.id.isEmpty())
  {
   throw new IllegalArgumentException();
  }
 }    
}

所以一旦给出,以后就不能更改了,在此先感谢!

将 id 设置为 final 除非它是构造函数或在 delcaration 时间,否则不能再次分配它。

final String id ="";

你可以这样做:

public class Node implements IXYNode
{
 private final String id ="";
 String description ="";
 int x =0;
 int y =0;

 public XYNode(String id, int x, int y)
 {
  this.id=id;
  this.x=x;

或者我认为更好的方法:

 public XYNode(int x, int y)
 {
  this.id=UUID.randomUUID().toString(); //randomUUID
  this.x=x;