您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Java:比较整数和字符串-性能

Java:比较整数和字符串-性能

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

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

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

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

java 2022/1/1 18:13:55 有555人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶