android - 如果将Calendar.getInstance()的timeInMillis值改成int,可以是唯一的id吗?
问题描述
在 Android 应用程序开发过程中,每个项目都尝试附加一个唯一的 int 类型 id。我认为创建项目的点是唯一的,所以在调用 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。然后将其转换为 int。尝试这样的事情:
val intId = (longId / 1000).toInt()
推荐阅读
- python - 如何使用网络摄像头捕获图像并使用 python 提取图像信息?
- javascript - 调整大小时 Chart.js 模糊
- javascript - Express.js/while-else 循环重定向问题
- python - 保存期间视图集中模型的自动增量字段
- flutter - Skipped x frames! The application may be doing too much work on its main thread. What does this error signify and how to solve this?
- java - Absence of toMap method with key, value and map supplier in Collectors
- vim - 如果 Vim 中有多个空间,则渲染空间
- ios - How to send voip push notification from node js? I can send voip push from curl but not node
- python - Unable to install NLTK with Python 3.7
- java - reuse same class in different class hierarchies