parseInt()
与 valueOf()
有何不同?
They appear to do exactly the same thing to me (also goes for parseFloat()
, parseDouble()
, parseLong()
etc, how are they different from Long.valueOf(string)
?
另外,按照惯例,其中哪一个更可取并且更经常使用?
原文由 Ali 发布,翻译遵循 CC BY-SA 4.0 许可协议
好吧,
Integer.valueOf(String)
的 API 确实说String
被解释为Integer.parseInt(String)
。 However,valueOf(String)
returns anew
Integer()
object whereasparseInt(String)
returns a primitiveint
.如果你想享受
Integer.valueOf(int)
的潜在缓存优势,你也可以使用这个令人讨厌的东西:现在,如果你想要的是对象而不是原语,那么使用
valueOf(String)
可能比用parseInt(String)
制作一个新对象更有吸引力,因为前者始终存在于Integer
,Long
,Double
等