创建一个不可更改的ID

时间:2016-03-09 13:49:13

标签: java declaration

我正在寻找一种方法来为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();
  }
 }    
}

所以一旦给出,之后就不应该改变了,先谢谢!

2 个答案:

答案 0 :(得分:4)

将ID设为final,除非是构造函数或在停留时间内,否则无法再次分配。

final String id ="";

答案 1 :(得分:1)

你可以这样做:

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;