【发布时间】:2017-02-07 23:30:52
【问题描述】:
在 Java 中将 String 转换为 Long(对象)的最佳方式是什么。
Long a = new Long(str);
或
Long a = Long.parseLong(str);
这里是否有正确的方法,因为两者似乎具有相同的可读性,并且在第一种方法中添加 autoboxing 的额外步骤是否可以接受?
【问题讨论】:
-
我有点好奇,为什么有人想要缓存单个对象,因为问题还建议将单个字符串对象转换为 long
-
@PavneetSingh 这些事情可能会在一个循环或很长一段时间内发生,Long 实例可能会被放入数百万个实例的集合中。在这种情况下(当大多数值实际上可以从缓存中检索到时),缓存可以节省大量内存。
-
@qqilihq 第一个缓存不能存储数百万个实例,而且它的范围非常有限,基本上它是用于 java 内部实现而不是提高性能,有关更清晰的信息,请阅读下面的答案(不要知道为什么有人会否决它可能是故意这样做的):P:P
-
虽然这是一个重复,但在这里投了赞成票;因为对于新手来说,这只是一个写得很好的问题;-)
标签: java autoboxing