0

好的,我将文件保存在 json 文件中,这与具有自动增量功能的 db 不同。

说我有这个对象。

public book() {
id = ?????
Title = mTitle;
}

如何使 id 为您提供唯一的 int 编号?那可能吗?提前致谢。

4

3 回答 3

3

在类中有一个静态变量并递增它。

class Book {

 private static int increment = 0;
 public Book() {
   id = ++increment;
   Title = mTitle;
 }

}

请遵循一些命名约定。类名应以大写开头。

于 2013-06-09T07:42:01.083 回答
2

你有几个解决方案。

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 的类。

于 2013-06-09T07:47:08.370 回答
1

如果您自动生成 getter/setter,请务必将 setId() 标记为受保护并删除传入的参数。

public protected void setId() {}
于 2013-11-12T20:01:41.957 回答