我有一个形式为2013-10-20 15:18:39.954
的字符串。我试图找出存储这些数据的最佳方法,以便它使用尽可能少的内存。目前我将它作为Date对象存储在Java中。从this链接我发现该对象使用大约32字节的内存。有没有办法使用更少的内存来存储这些数据?我试图使用尽可能低的内存,所以即使1字节较小也没关系。
我在想我可以使用String但是this链接说Strings也使用了很多内存。任何帮助将不胜感激!
答案 0 :(得分:3)
您可以使用getTime()
method(自纪元以来的毫秒数)and back将Date
转换为long
,并且long
为8个字节。
答案 1 :(得分:1)
java.util.Date
只是一个long
。您可以根据需要使用long
表示相同的信息并构建Date
。
请注意,以这种方式存储信息(java.util.Date或long),如果将其转换回人类可读的表示形式,则不能跨平台完全移植。
如果平台升级引入了新的闰秒或夏令时规则发生变化,那么自epoch以来的毫秒数(例如,转换为“2019年6月18日午夜”)可能会发生变化。