任何问题,如果我使用toLong而不是新的Long()来转换字符串Long

时间:2012-01-23 13:41:35

标签: java

任何人都可以告诉我toLong()new Long(String)之间的区别吗?这两者之间的表现是否存在差异?

示例:String str="1236";

Long val=str.toLong();

OR

Long val=new Long(str);

哪一个更好用,并给我差异?

4 个答案:

答案 0 :(得分:2)

(我认为你的意思是在Groovy中,因为Java Strings没有toLong()方法......)

在封面下,使用相同的代码,因此没有区别。

但是,如果您仍然感到好奇,我会强烈建议您编写一个快速计时测试来验证自己。

答案 1 :(得分:0)

在缓存时使用Long.valueOf(...)并重新使用低于128的值(我猜)。

答案 2 :(得分:0)

没有String#toLong()方法。

但是应该使用Long#valueOf(String)代替new Long(String),因为JVM可以缓存并重用该值。

答案 3 :(得分:0)

没有String.toLong() - 但是有Long.valueOf(String str)与新的Long(String str)相同。