2010-11-19 8 views
1

J'ai une collection avec le type d'élément <K extends Comparable<K>> parce que c'est commandé. J'essaie d'utiliser Joda LocalTime avec cette collection - par exemple, je veux utiliser Joda LocalTime. MyCollection<LocalTime>. Malheureusement, apparemment, Joda est pré-générique; LocalTime implémente Comparable brut.Limites génériques avec types pré-génériques

Je reçois l'erreur du compilateur

Bound mismatch: The type LocalTime is not a valid substitute 
for the bounded parameter <K extends Comparable<K>> of the type Interval<K> 

J'attendre que cela fonctionne avec juste un avertissement, car il est tout à fait possible d'attribuer un type brut à une variable typée. Pourquoi cela ne fonctionne-t-il pas et que puis-je faire à ce sujet?

Voici un exemple de code minimal:

class Holder<K extends Comparable<K>> { } 
class WTF extends Holder<LocalTime> { } 

Répondre

1

Vous pouvez créer une classe wrapper autour LocalTime qui implements Comparable<K> et passe par tous les appels de méthode.

+0

Oui, c'est ce que je fais en attendant. Laide comme le péché, à la recherche d'une meilleure solution! –

Questions connexes