# Objekte vergleichen



## SirGecco (20. Dez 2008)

Warum funktioniert der "Personen-Vergleich" nicht? Der "String-Vergleich" funktioniert?

Ausgabe: 
Ungleiche Person
str1 entspricht str2


```
package vergleich;

public class Vergleichen {

	Person person1;
	Person person2;

	public static void main(String[] args) {
		Vergleichen vergleichen = new Vergleichen();
		vergleichen.erstellePerson();
		vergleichen.vergleichePerson();
		vergleichen.meinString();
	}

	private void meinString() {
		String str1 = new String("Hallo");
		String str2 = new String("Hallo");
		if (str1.equals(str2)) {
			System.out.println("str1 entspricht str2");
		} else {
			System.out.println("str1 ist anders als str2");
		}
	}

	private void vergleichePerson() {

		if (person1.equals(person2)) {
			System.out.println("Gleiche Person");
		} else {
			System.out.println("Ungleiche Person");
		}
	}

	private void erstellePerson() {
		person1 = new Person("Meiser", "Kurt");
		person2 = new Person("Meiser", "Kurt");
	}

}
```


----------



## L-ectron-X (20. Dez 2008)

In Person musst du die compareTo()-Methode überschreiben, in welcher du definierst, auf welche Art und Weise bzw. nach welchen Kriterien sich Person-Objekte unterscheiden.
Dazu kannst du auch mal die Forumsuche benutzen.


----------



## SirGecco (20. Dez 2008)

Danke für die schnelle Antwort. Lösung gefunden!!


----------



## Marco13 (20. Dez 2008)

Also hast du gemerkt, dass man "equals" überschreiben muss? :wink:


----------



## Gast (20. Dez 2008)

Habe die compareTo()-Methode in

public class Person implements Comparable 

überschrieben.


----------

