AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[JAVA] List contains

Ein Thema von MrSpock · begonnen am 30. Jan 2011 · letzter Beitrag vom 30. Jan 2011
 
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#1

[JAVA] List contains

  Alt 30. Jan 2011, 13:39
Wie euch wohl auffällt, beschäftige ich mich zur Zeit mit Java. Deshalb gleich nochmal eine Frage:

Hier findet man, zu der Methode contains folgendes:

Zitat:
contains

public boolean contains(Object o)

Returns true if this list contains the specified element. More formally, returns true if and only if this list contains at least one element e such that (o==null ? e==null : o.equals(e)).
Dazu habe ich eine Klasse definiert, die das Interface Comparable und auch die Methode equals definiert.

Code:
public class Persons extends BeingsObject implements Comparable<Persons>{
    private String personNumber;

    public Persons(String personNumber){
        this.personNumber = personNumber;
    }

    public String getpersonNumber() {
        return this.personNumber;
    }

    @Override
    public int compareTo(Persons otherperson) {
        return personNumber.compareTo(otherperson.getpersonNumber());
    };

    public boolean equals(Persons r){
        return this.personNumber.equals(r.personNumber);
    }

}
Im Hauptprogramm habe ich ein Methode addPerson, die eine Peron erzeugt und einer ArrayList hinzufügt:

Code:
myBS.addPerson("Albert");
  myBS.addPerson("James");
  myBS.addPerson("MrSpock");
  myBS.addPerson("Hetfield");
Interessant ist jetzt die Ausgabe:

Code:
 Persons searchFor = new Persons("Albert");
  System.out.println("persList contains Albert " +myBS.PersonsList.contains(searchFor)); // gibt false zurück
  System.out.println("equal? "+myBS.PersonsList.get(0).equals(searchFor)); // gibt true zurück
Es gibt also ein Element, das die equlas Bedingung erfüllt, trotzdem gibt contains false zurück. Warum?
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz