我正在寻找一种方法来为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();
}
}
}
所以一旦给出,之后就不应该改变了,先谢谢!
答案 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;