Operator ścisłej równości powie ci, czy dwa typy obiektów są równe. Czy istnieje jednak sposób, aby stwierdzić, czy dwa obiekty są równe, podobnie jak wartość kodu skrótu w Javie? Pytanie o przepełnienie stosu Czy w JavaScript jest jakaś funkcja hashCode? jest podobny do tego pytania, ale wymaga bardziej akademickiej odpowiedzi. …
Odpowiedzi na to pytanie są dziełem społeczności . Edytuj istniejące odpowiedzi, aby poprawić ten post. Obecnie nie akceptuje nowych odpowiedzi ani interakcji. Jakie problemy / pułapki należy wziąć pod uwagę przy nadpisywaniu equalsi hashCode?
Mam warunek w aplikacji silverlight, która porównuje 2 łańcuchy, z jakiegoś powodu, gdy ==go używam , zwraca false, a .Equals()zwraca true . Oto kod: if (((ListBoxItem)lstBaseMenu.SelectedItem).Content.Equals("Energy Attack")) { // Execute code } if (((ListBoxItem)lstBaseMenu.SelectedItem).Content == "Energy Attack") { // Execute code } Masz powód, dlaczego tak się dzieje?
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 6 lat temu . Od jakiegoś czasu pracuję z JPA (implementacja Hibernacja) i za każdym razem, gdy …
Niedawno przeczytałem ten dokument dotyczący prac programistycznych . Dokument jest o definiowaniu hashCode()i equals()skutecznie i poprawnie, jednak nie jestem w stanie zrozumieć, dlaczego musimy zastąpić te dwie metody. Jak mogę podjąć decyzję o wydajnym wdrożeniu tych metod?
Dlaczego nie Setzapewnia operacji, aby uzyskać element równy innemu elementowi? Set<Foo> set = ...; ... Foo foo = new Foo(1, 2, 3); Foo bar = set.get(foo); // get the Foo element from the Set that equals foo Mogę zapytać, czy Setzawiera element równy bar, więc dlaczego nie mogę uzyskać tego …
Czy podczas korzystania z SQL są jakieś korzyści wynikające z użycia =w WHEREklauzuli zamiast LIKE? Bez specjalnych operatorów LIKEi czy =są tacy sami, prawda?
Chcę, aby moja Foodklasa mogła testować, ilekroć jest ona równa innej instancji Food. Później użyję go na liście i chcę użyć jego List.Contains()metody. Czy powinienem zaimplementować IEquatable<Food>czy po prostu zastąpić Object.Equals()? Z MSDN: Ta metoda określa równość za pomocą domyślnego modułu porównującego równość zdefiniowanego przez obiektową implementację metody IEquatable.Equals dla …
Używam Eclipse do generowania .equals()i .hashCode(), i jest opcja oznaczona jako „Użyj„ instanceof ”, aby porównać typy”. Domyślnie ta opcja jest odznaczona i używana .getClass()do porównywania typów. Czy jest jakiś powód powinien Wolę .getClass()ponad instanceof? Bez użycia instanceof: if (obj == null) return false; if (getClass() != obj.getClass()) return false; …
Chcę wykonać jakąś akcję TYLKO JEŻELI mój ciąg ma znaczącą wartość. Więc spróbowałem tego. if (!myString.equals("")) { doSomething } i to if (!myString.equals(null)) { doSomething } i to if ( (!myString.equals("")) && (!myString.equals(null))) { doSomething } i to if ( (!myString.equals("")) && (myString!=null)) { doSomething } i to if ( …
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć, podając fakty i cytaty, edytując ten post . Zamknięte 3 lata temu . Popraw to pytanie Ciekawi mnie, co ludzie tutaj myślą o używaniu org.apache.commons.lang.builder …
Chcę zrozumieć scenariusze, w których IEqualityComparer<T>i IEquatable<T>należy je stosować. Dokumentacja MSDN dla obu wygląda bardzo podobnie.
Jaka jest różnica między nulla ""(pusty ciąg)? Napisałem prosty kod: String a = ""; String b = null; System.out.println(a == b); // false System.out.println(a.equals(b)); // false Obie instrukcje powracają false. Wygląda na to, że nie jestem w stanie znaleźć rzeczywistej różnicy między nimi.
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.