如果把Calendar.getInstance()的timeInMillis值改成int,能不能是唯一id?

If you change the timeInMillis value of Calendar.getInstance() to int, can it be a unique id?

在 Android 应用程序开发期间,每个项目都会尝试附加一个唯一的 int 类型 ID。我认为item的创建点是唯一的,所以在调用Calendar.getInstance()之后,我想通过将timeInMillis的值改为toInt()来给它。即使像这样转化成int,值是不是就变得唯一了?

例如)

 val calendar = Calendar.getInstance()
 val longId = calendar.timeInMillis          // 1611807420557
 val intId = calendar.timeinMillis.toInt()   // 1194684557

作为我测试的结果,输出了上面的值。 1194684557值是不是改成了int一个唯一id?

toInt() 不是一个好主意,因为如果你的 long 超出了 int 的范围,它就不会工作。我建议将毫秒除以 1000。然后将其转换为整数。 尝试这样的事情:

val intId = (longId / 1000).toInt()