Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [Java] Generics oder "Wie bekomme ich die Warnung weg" (https://www.delphipraxis.net/114901-%5Bjava%5D-generics-oder-wie-bekomme-ich-die-warnung-weg.html)

Hador 2. Jun 2008 16:29


[Java] Generics oder "Wie bekomme ich die Warnung weg&q
 
Hallo Leute, ich darf mich gerade ein wenig mit Java herumschlagen und bekomme bei folgendem Code eine Warnung:

Code:
public class VerweisBaum <E extends Comparator> implements Baum {

  private Knoten<E> wurzel;

  ...

  private VerweisBaum(Knoten<E> k) {
    wurzel = k;
  }

  ...

  public Baum<E> left() {
    ...
    return new VerweisBaum<E>(wurzel.left());
  }

  ...
}
Leider mag Java das so nicht und meldet sich mit folgender Warnung:
Code:
VerweisBaum.java:78: warning: [unchecked] unchecked conversion
found  : binaerbaum.VerweisBaum<E>
required: binaerbaum.Baum<E>
                return new VerweisBaum<E>(wurzel.left());
                       ^
Da Verweisbaum jedoch von der Klasse Baum abgeleitet ist bzw. diese implementiert und beide male der selbe generische Typ verwendet wird sollte das doch eigentlich so gehen (dachte ich).

Eventuell könnt ihr mir ja weiterhelfen.

Gruß Lars

Dani 2. Jun 2008 16:56

Re: [Java] Generics oder "Wie bekomme ich die Warnung w
 
Hi. Ich rate jetzt mal ins Blaue und vermute, dass wenn "Baum" ein Interface mit Generics ist, hier eher etwas in die Richtung stehen müsste:

Code:
public class VerweisBaum <E extends Comparator> implements Baum<E> {...

Hador 2. Jun 2008 17:46

Re: [Java] Generics oder "Wie bekomme ich die Warnung w
 
Genau das war der Fehler. Danke.

Wobei ih das ganze jetzt schon anders gelöst und den Rückgabewert auf VerweisBaum geändert hatte, was das Interface ja auch zuließ.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz