【问题标题】:Timestamp as unique ID时间戳作为唯一 ID
【发布时间】:2017-03-29 08:43:56
【问题描述】:

如果我使用有什么问题吗

Long uniqueId = System.currentTimeMillis()/1000;

String documentName = ""+ uniqueId;

例如文件名? 除非用户的日期错误,否则它将始终是唯一的,对吗? 还是有更好的方法来创建始终唯一的数值? 我使用Long uniqueId = System.currentTimeMillis()/1000;的原因

是因为它必须是唯一的,即使用户在没有相同数据的情况下从另一台设备生成该文档,这意味着我无法创建和保存唯一值,只需为其添加 +1。

【问题讨论】:

标签: android timestamp unique


【解决方案1】:

如果你使用

System.currentTimeMillis()/1000

那么,如果您在同一秒内保存 2 个文件,则 2 个不同的文件将有 2 个相同的名称。

所以我建议你使用

UUID.randomUUID().toString()

【讨论】:

  • 我一直在使用毫秒级别的时间戳,如果您打算将它存储在某个地方,这可以提供唯一标识符和创建该对象的时间......不要除以任何东西,时间戳会很好,除非由于某些奇怪的原因,您的应用程序创建对象的速度太快以至于两个连续的对象在同一毫秒内构建!
  • UUID 对于文件名来说太长了?有没有办法缩短它或任何其他替代方案?
猜你喜欢
  • 1970-01-01
  • 2014-04-17
  • 2017-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多