# compareTo - Vergleich von Objekten



## gta008 (3. Jun 2022)

Guten Tag,

ich habe ein Problem mit dem Vergleichen von Objekten. Ich habe in meinem Programm ein Array des Typs Object.  In einer Methode muss ich zwei Elemente aus dem Array vergleichen, leider kommt aber hier immer die Fehlermeldung, dass compareTo(Object) undefined ist. Was mache ich hier falsch?


```
public class HeapPriorityQueue <T extends Comparable <T>> {
```


```
Object [] array = new Object[4];
```


```
if (l < counter && array[l].compareTo(array[smallest]) < 0) { //comapreTo funktioniert hier nicht
            smallest = l;
        }

        if (r < counter && array[r].compareTo(array[smallest]) < 0) { ////comapreTo funktioniert hier nicht
            smallest = r;
        }
```

Vielen Dank im Voraus!


----------



## KonradN (3. Jun 2022)

Wenn Du ein Array von Object hast, dann hast Du kein compareTo. 

compareTo ist in Comparable definiert, daher ist das beim Generic ja auch so vorgegeben.

Das kannst Du im Array auch vorgeben - Statt Object kannst Du Comparable nehmen und schon hast Du auch compareTo.


----------



## Jw456 (3. Jun 2022)

Hast du denn auch  in der Klasse die compareTo Methote überschrieben?
also in deinem Array.


----------



## gta008 (3. Jun 2022)

KonradN hat gesagt.:


> Wenn Du ein Array von Object hast, dann hast Du kein compareTo.
> 
> compareTo ist in Comparable definiert, daher ist das beim Generic ja auch so vorgegeben.
> 
> Das kannst Du im Array auch vorgeben - Statt Object kannst Du Comparable nehmen und schon hast Du auch compareTo.


Wie kann ich denn das Array als Comparable machen? Das habe ich versucht aber leider nicht hinbekommen.


----------



## KonradN (3. Jun 2022)

Object durch Comparable ersetzen:
`Comparable array = new Comparable[4];`

Wenn es wirklich notwendig ist, ein Generic (T) Array zu haben, dann gäbe es da auch Möglichkeiten wie z.B








						Creating a Generic Array in Java | Baeldung
					

The loose types of Java generics are hard to coerce into the strong types of Java arrays. We explore the problem and some common solutions.




					www.baeldung.com
				



aufzeigt.

Aber hier wäre erst einmal die Frage, was Du da gerade genau machen willst. Wir kennen nur kleine Ausschnitte und wissen nicht, ob das nicht ggf. einfach etwas ist, was Du gar nicht brauchst.


----------

