我必须创建一个具有int成员的类,该成员对于该类的每个对象都是唯一的.所以:
public class Cls {
private int id;
public Cls(){id = unique number;}
}
Run Code Online (Sandbox Code Playgroud)
因此,当我创建x个Cls对象时,我必须确保没有类具有相同的id.但我想避免在main中创建全局变量,并逐个设置id.如果可能,如果可以在构造函数中设置id,那将是很好的.
您可以保存static包含您使用的最后一个值的值,并在每次使用时始终递增它.这AtomicInteger是非常好的,因为它是线程安全的,并且如果在多线程环境中使用则不需要锁.
public class Cls {
// The last id I used.
private static final AtomicInteger nextId = new AtomicInteger();
// My id
private final int id = nextId.getAndIncrement();
public Cls() {
}
}
Run Code Online (Sandbox Code Playgroud)