Jestem początkującym programistą Java i po prostu czytałem zmienną klasy całkowitej można opisać na trzy różne sposoby w interfejsie API. Mam następujący kod:Porównanie wartości całkowitych
if (count.compareTo(0)) {
System.out.println(out_table);
count++;
}
Jest wewnątrz pętli i po prostu wyjść out_table
.
Moim celem jest dowiedzieć się, jak sprawdzić, czy wartość w liczbie całkowitej count > 0
.
Zdaję sobie sprawę, że count.compare(0)
jest prawidłowy? czy to jest count.equals(0)
?
Wiem, że count == 0
jest niepoprawny. Czy to jest poprawne? Czy istnieje operator porównania wartości, w którym jest to tylko count=0
?
Ten sam błąd co mmyers. To jest autounboxing. –
tak, moje złe. naprawiono to. –
Ummm. Nie całkiem. ... W innych porównaniach nie zawsze tak jest. Co jeśli porównujesz dwie liczby całkowite i używasz "=="? Następnie instancje są porównywane, ale czasami JVM nie buforuje ich, więc zgłasza identyczne wartości jako różne. Zobacz http://stackoverflow.com/questions/10002037/comparing-integer-values-in-java-strange-behavior. – ingyhere