创建一个不可更改的 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;
我正在寻找一种方法来为 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;