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