📅  最后修改于: 2022-03-11 14:52:42.405000             🧑  作者: Mango
num == Integer.parseInt(str) is going to faster than str.equals("" + num)
str.equals("" + num) will first convert num to string which is O(n) where n being the number of digits in the number. Then it will do a string concatenation again O(n) and then finally do the string comparison. String comparison in this case will be another O(n) - n being the number of digits in the number. So in all ~3*O(n)
num == Integer.parseInt(str) will convert the string to integer which is O(n) again where n being the number of digits in the number. And then integer comparison is O(1). So just ~1*O(n)
To summarize both are O(n) - but str.equals("" + num) has a higher constant and so is slower.