Java Integer.parseInt(字符串)是否创建对象?

Java Integer.parseInt(字符串)是否创建对象?,java,android,Java,Android,我正在使用int duration=Integer.parseInt(durationinstang)将字符串对象转换为原始整数值。我在一个while循环中使用它,整数转换每秒钟发生一次,直到视频持续时间结束。例如,如果视频是2分钟,我将调用Integer.parseInt120次。 我想知道是否每次调用Integer.parseInt都会创建一个对象?如果是这样的话,连续调用它是个坏主意吗 非常感谢您的帮助 注意:我正在开发Android应用程序 谢谢, SKU在内部,该方法可能会创建对象,但

我正在使用
int duration=Integer.parseInt(durationinstang)
将字符串对象转换为原始整数值。我在一个while循环中使用它,整数转换每秒钟发生一次,直到视频持续时间结束。例如,如果视频是2分钟,我将调用
Integer.parseInt
120次。 我想知道是否每次调用
Integer.parseInt
都会创建一个对象?如果是这样的话,连续调用它是个坏主意吗

非常感谢您的帮助

注意:我正在开发Android应用程序

谢谢,
SKU

在内部,该方法可能会创建对象,但由于返回值是
int
它不会生成泄漏给您的任何对象,因此调用方。我不会担心像这样的对象创建的效率问题,因为大多数JVM都有垃圾收集器,这些垃圾收集器经过专门优化,可以收集不再被引用的年轻对象。如果您有理由相信此方法以实际导致问题的速度创建对象,请拉出探查器进行检查。我敢打赌,这不是一个瓶颈


希望这有帮助

如果查看Integer.parseInt的源代码,似乎没有创建任何对象


也就是说,120次不值得担心。

您可以从这个问题中检查代码

无论如何,我认为最好是:

int duration = 0;
while(){
duration = whatever;
}

这样内存就可以重复使用。

有什么理由你必须每秒调用它吗?我猜视频的持续时间不会改变,只调用一次就够了吗?如果没有好的理由,那么是的,这是个坏主意。每秒一次并不经常。垃圾收集器可以很容易地处理这个问题。@ggreiner我每秒调用它的原因是为了获取视频播放的当前位置。通过获取返回值。。。我将设置进度条的位置来更新视图。@Guillaume我也有同样的感觉,更多的是我是在一个单独的线程上进行的。不过,公平地说,库设计者可以自由地实现他们认为合适的方法,并且确实可以在内部分配对象。