Toon posts:

[Java] Probleem met Generics

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een klasse gemaakt wat een set is die alleen objecten mag bevatten die de klasse Comparable implementeren:

code:
1
2
3
4
5
6
7
public class GenericSet <E extends Comparable>extends TreeSet<E>
{

         public static <T extends Comparable> GenericSet assign(GenericSet <T> z)
         {
             return z;
         }


In een andere klasse maak ik 2 GenericSets aan:

code:
1
2
GenericSet <String> g1 = new GenericSet <String>() ;
GenericSet <Boolean> g2 = new GenericSet <Boolean>() ;


Nu komt mij vraag, als ik in die klasse

g1 = g2;

zet, geeft hij tijdens het compilen een error aan:

TestGeneric.java:100: incompatible types
found : GenericSet<java.lang.Boolean>
required: GenericSet<java.lang.String>

Dit is ook de bedoeling, maar als ik

g1 = GenericSet.assign(g2);

neerzet geeft hij geen error tijdens het compilen. Hoe zorg ik ervoor als ik de methode assign gebruik, dat de return waarde nog steeds van het type GenericSet <Boolean> is?

  • MNeMoNiCS
  • Registratie: Mei 2002
  • Laatst online: 16-10-2012
Volgens mij retourneert je assign-methode een GenericSet en niet een GenericSet<T>, misschien dat je alleen dat hoeft toe te voegen?

Verwijderd

Topicstarter
MNeMoNiCS schreef op dinsdag 21 november 2006 @ 17:40:
Volgens mij retourneert je assign-methode een GenericSet en niet een GenericSet<T>, misschien dat je alleen dat hoeft toe te voegen?
Helemaal correct, thx!!!