num == Integer.parseInt(str)
wird sich schneller als str.equals("" + num)
str.equals("" + num)
wird zuerst num bespannen wandeln, die O (n), wobei n die Anzahl der Stellen in der Zahl ist. Dann wird es wieder eine Stringverkettung O (n) machen und dann endlich den Stringvergleich durchführen. Der String-Vergleich ist in diesem Fall ein anderes O (n) - n ist die Anzahl der Ziffern in der Zahl. Also in allen ~ 3 * O (n)
num == Integer.parseInt(str)
wird die Zeichenkette zu Integer konvertieren, die wieder O (n) ist, wobei n die Anzahl der Ziffern in der Zahl ist. Und dann ist der ganzzahlige Vergleich O (1). Also nur ~ 1 * O (n)
Zusammenzufassen sind beide O (n) - aber str.equals("" + num)
hat eine höhere Konstante und ist somit langsamer.
ich für die Gleichstellung mit Vergleichsoperator ‚==‘ überprüft werden, die ganzzahlige Werte sagen bedeuten, um zu verwenden. –