java 哪个更快?Integer.valueOf(String string) 还是 Integer.parseInt(String string)?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/13933287/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Which one is faster? Integer.valueOf(String string) or Integer.parseInt(String string)?
提问by Linaina
I want to know which method is faster?
我想知道哪种方法更快?
Integer.valueOf(String string)
or Integer.parseInt(String string)
?
Integer.valueOf(String string)
或者Integer.parseInt(String string)
?
Is there any Performance or Memory difference between the two approaches?
两种方法之间是否有性能或内存差异?
I have seen Difference between parseInt and valueOf in java?but this does not explains difference in terms of performance.
我在 java 中看到了 parseInt 和 valueOf 之间的区别?但这并不能解释性能方面的差异。
回答by Tom Verelst
I would not look at performance. The API says that Integer.valueOf(String)
is interpreted the same as if it has been passed to Integer.parseInt(String)
, except it is wrapped into an Integer
. I would look at what you need: an Integer
or an int
.
我不会看性能。API 表示,Integer.valueOf(String)
它的解释与传递给 的解释相同Integer.parseInt(String)
,只是它被包装到Integer
. 我会看看你需要什么: anInteger
或 an int
。
Integer.valueOf
returns an Integer
.
Integer.valueOf
返回一个Integer
.
Integer.parseInt
returns an int
.
Integer.parseInt
返回一个int
.
回答by Rajeev N B
Integer.valueOf()
uses Integer.parseInt()
internally and valueOf
returns Integer
Object whereas parseInt()
returns int
.
So parseInt()
is faster.
Integer.valueOf()
在Integer.parseInt()
内部使用并valueOf
返回Integer
Object 而parseInt()
返回int
. 所以parseInt()
更快。
回答by Aamir Shah
valueOf(String)
returns a new Integer()
object whereas parseInt(String)
returns a primitive int
.
valueOf(String)
返回一个new Integer()
对象,而parseInt(String)
返回一个原语int
。
回答by Ravi
Integer.valueOf(String string)
returns a newly created wrapped object.
Integer.valueOf(String string)
返回一个新创建的包装对象。
Integer i = Integer.valueOf("5");
Integer i = Integer.valueOf("5");
Integer.parseInt(String string)
returns the named primitive.
Integer.parseInt(String string)
返回命名的原语。
int i = Integer.parseInt("5");
int i = Integer.parseInt("5");