java中parseInt和valueOf之间的区别?

这两种方法有什么区别? 他们似乎做了完全一样的事情(也适用于parseFloat()parseDouble()parseLong()等,它们与Long.valueOf(string)什么不同?

编辑:另外,这些是哪个更好,常规使用更多?


那么, Integer.valueOf(String)的API确实表示该String被解释为与赋予Integer.parseInt(String)完全一样。 但是, valueOf(String)返回一个new Integer()对象,而parseInt(String)返回一个基本int

如果你想享受Integer.valueOf(int)的潜在缓存好处,你也可以使用这个眼神:

Integer k = Integer.valueOf(Integer.parseInt("123"))

现在,如果你想要的是对象而不是基元,那么使用valueOf(String)可能比用parseInt(String)创建一个新对象更有吸引力,因为前者一直存在于IntegerLongDouble等等。


从这个论坛:

parseInt()返回原始整数类型(int),由此valueOf返回代表整数的对象java.lang.Integer。 有些情况下你可能需要一个Integer对象,而不是原始类型。

当然,另一个明显的区别是intValue是一个实例方法, parseInt是一个静态方法。


Integer.valueOf(s)

类似于

new Integer(Integer.parseInt(s))

区别在于valueOf()返回一个Integer ,而parseInt()返回一个int (一种基元类型)。 还要注意, valueOf()可以返回一个缓存的Integer实例,当==测试的结果似乎间歇性地正确时,会导致混淆的结果。 在自动装箱之前,可能会有不同的便利性,在Java 1.5之后它并不重要。

而且, Integer.parseInt(s)也可以采用原始数据类型。

链接地址: http://www.djcxy.com/p/3551.html

上一篇: Difference between parseInt and valueOf in java?

下一篇: How to check if a String is numeric in Java