Cod*_*nci 23
static int nextId在你的Apple类中有一个并在你的构造函数中增加它.
确保增量代码是原子代码可能是谨慎的,所以你可以做这样的事情(使用AtomicInteger).这将保证如果两个对象完全同时创建,则它们不共享相同的Id.
public class Apple {
static AtomicInteger nextId = new AtomicInteger();
private int id;
public Apple() {
id = nextId.incrementAndGet();
}
}
Run Code Online (Sandbox Code Playgroud)
Boz*_*zho 13
使用 java.util.UUID.randomUUID()
它不是int,但保证是独一无二的:
表示不可变通用唯一标识符(UUID)的类.
如果您的对象以某种方式进行管理(例如通过某种持久性机制),则通常会出现管理器生成ID的情况 - 例如,从数据库中获取下一个ID.
相关:Jeff Atwood关于GUID(UUID)的文章.但是,它与数据库相关,但是从您的问题中不清楚您是否希望保留对象.
| 归档时间: |
|
| 查看次数: |
17186 次 |
| 最近记录: |