porównajTo z prymitywami -> Integer/int
Czy lepiej pisać
int primitive1 = 3, primitive2 = 4;
Integer a = new Integer(primitive1);
Integer b = new Integer(primitive2);
int compare = a.compareTo(b);
lub
int primitive1 = 3, primitive2 = 4;
int compare = (primitive1 > primitive2) ? 1 : 0;
if(compare == 0){
compare = (primitive1 == primitive2) ? 0 : -1;
}
Myślę, że druga opcja jest lepsza, powinna być szybsza i lepiej zoptymalizowana pod kątem pamięci. Ale czy nie są równi?
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
8 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Zrobiłbym też
lub dłuższa wersja
lub
Najlepiej nie tworzyć obiektu, jeśli nie musisz.
Z punktu widzenia wydajności ten pierwszy jest najlepszy.
Jeśli wiesz na pewno, że nie przepełnisz, możesz użyć
nie będziesz szybszy niż teraz.
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Dla porównania jest Math.signum (podwójne d).
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Zauważ, że Integer.compareTo () niekoniecznie zwraca tylko -1, 0 lub 1.
Anonimowy użytkownik
Potwierdzenie od:
jeśli chcesz porównać z odwrotną kolejnością:
Anonimowy użytkownik
Potwierdzenie od:
A to działa nawet w Javie 1.5+, może nawet w 1.1 (nie mam). Powiedz nam, czy możesz to przetestować w wersji 1.5-.
To też: