程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Java:比较整数和字符串-性能大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Java:比较整数和字符串-性能?

开发过程中遇到Java:比较整数和字符串-性能的问题如何解决?下面主要结合日常开发的经验,给出你关于Java:比较整数和字符串-性能的解决方法建议,希望对你解决Java:比较整数和字符串-性能有所启发或帮助;

num == Integer.parseInt(str)@H_874_4@ 会比 str.equals("" + num)@H_874_4@

str.equals("" + num)@H_874_4@首先将num转换为O(n)的字符串,其中n是数字中的位数。然后它将再次进行字符串连接O(n),然后最终进行字符串比较。在这种情况下,字符串比较将是另一个O(n)-n是数字中的位数。所以总共〜3 * O(n)

num == Integer.parseInt(str)@H_874_4@会将字符串再次转换为O(n)的整数,其中n是数字中的位数。然后整数比较为O(1)。所以只有〜1 * O(n)

总而言之,两者均为O(n)-但str.equals("" + num)@H_874_4@常数较高,因此速度较慢。

解决方法

有一个String和一个int,可以说:String str = "12345";@H_874_4@和int num = 12345;@H_874_4@。什么是如果它们是相同的,看到的最快的方法str.equals("" + num)@H_874_4@还是num == Integer.parseInt(str)@H_874_4@(或者是有一个更快的方法?)?

这是Integer.parseInt和String.equals的源代码

大佬总结

以上是大佬教程为你收集整理的Java:比较整数和字符串-性能全部内容,希望文章能够帮你解决Java:比较整数和字符串-性能所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。