• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Porównywanie obiektów [JAVA]

VPS Starter Arubacloud
0 głosów
402 wizyt
pytanie zadane 19 marca 2017 w Java przez Szymon Ciamaga Obywatel (1,980 p.)
edycja 19 marca 2017 przez Szymon Ciamaga

Witam, próbuje stworzyć taki mini sklep internetowy. Mam problem z sprawdzeniem czy obiekt znajduję się w liście

   public void add(Product product) {
        if (!productList.contains(product)) {
            productList.add(product);
        } else {
            System.out.println("dodanie klejnego produktu");
        }
    }

niestety nie działa to co jest wyżej próbowałem też na inne sposoby lecz nic z tego. Nie mam także za bardzo pomysłu na dodanie kolejnego przedmiotu do listy tak by było "jakiś produkt ilość 5" cały kod jest tu https://github.com/Baron762/my_project. Pozdrawiam.

 

1 odpowiedź

0 głosów
odpowiedź 19 marca 2017 przez KubenQPL Maniak (62,820 p.)
wybrane 19 marca 2017 przez Szymon Ciamaga
 
Najlepsza

Jest funkcja equals, i moglbys zrobić pętle ktora przeleci przez wszystkie elementy listy i sprawdzać po kolei producta.equals(productb)

Ale muszą być identyczne, wiec najlepiej jakbyś sprawdzał po jakiejś zmiennej np nazwie czy coś 

if(producta.getName().equals(productb.getName())

 

komentarz 19 marca 2017 przez Szymon Ciamaga Obywatel (1,980 p.)
działa. Tylko mam  pytanie bo mnie to interesuje. Dlaczego nie działa tak jak chciałem zrobić ?
komentarz 19 marca 2017 przez KubenQPL Maniak (62,820 p.)
Może nie było identycznego elementu
komentarz 19 marca 2017 przez Szymon Ciamaga Obywatel (1,980 p.)
zrobiłem wszystko by były
komentarz 19 marca 2017 przez KubenQPL Maniak (62,820 p.)
Jakbyś chciał żeby contains działało musiałbyś nadpisać metodę equals i w niej sprawdzić wszystkie zmienne (od których zależy równość) z obu instacji czy są równe i zwrócić odpowiednio true albo false
komentarz 19 marca 2017 przez Mateusz51 Nałogowiec (28,180 p.)
Nie działa prawdopodobnie bo nie masz przeciążonej metody equals

Podobne pytania

0 głosów
3 odpowiedzi 493 wizyt
pytanie zadane 22 kwietnia 2020 w Java przez ArturoS159 Początkujący (440 p.)
0 głosów
1 odpowiedź 144 wizyt
+1 głos
1 odpowiedź 155 wizyt
pytanie zadane 26 sierpnia 2017 w Java przez Szymon Ciamaga Obywatel (1,980 p.)

92,452 zapytań

141,262 odpowiedzi

319,085 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...