Po prostu zacznij używać java.util.UUID
. Moje pytanie brzmi, czy mam dwie zmienne UUID, na przykład u1 i u2, i chciałbym sprawdzić, czy są one równe, czy mogę bezpiecznie użyć wyrażenia u1 == u2
lub napisać u1.equals(u2)
? zakładając, że oba nie są zerowe.Aby porównać UUID, czy mogę użyć == lub użyć UUID.equals (UUID)?
BTW, używam jej metody randomUUID
do tworzenia nowych wartości UUID, ale myślę, że to nie powinno być ważne. Zastanawiam się, jak UUID jest wyjątkowy, każda wartość może być singleton, to jest bezpieczny w użyciu u1 == u2
.
void method1(UUID u1, UUID u2) {
// I know it is always safe to use equal method
if (u1.equals(u2)){
// do something
}
// is it safe to use ==
if (u1 == u2) {
// do something
}
}
RTFM: http://docs.oracle.com/javase/6/docs/api/java/util/UUID.html#compareTo(java.util.UUID) – alfasin
Twój wpis jest mylący. Oczywiście, '==' wystarczy, jeśli naprawdę mówisz o ** zmiennych **. Jaki jest prawdziwy scenariusz? –
dokumentacja java nie odpowiada na to pytanie. –