好的,我将文件保存在 json 文件中,这与具有自动增量功能的 db 不同。
说我有这个对象。
public book() {
id = ?????
Title = mTitle;
}
如何使 id 为您提供唯一的 int 编号?那可能吗?提前致谢。
在类中有一个静态变量并递增它。
class Book {
private static int increment = 0;
public Book() {
id = ++increment;
Title = mTitle;
}
}
请遵循一些命名约定。类名应以大写开头。
你有几个解决方案。
1把你的身份证System.currentTimeMillis()
或什至System.nonoTime()
。这几乎可以保证唯一性,并且数字将随之而来。
2创建只计算对象的静态计数器:
例子:
public class Book {
private static int count = 0;
private int id;
public Book() {
id = ++count;
}
}
这种方法将保证同一应用程序实例中 ID 的唯一性。
3您还可以使用UUID
生成真正唯一的字符串 ID 的类。
如果您自动生成 getter/setter,请务必将 setId() 标记为受保护并删除传入的参数。
public protected void setId() {}