| Author |
help with generics
|
|
| David 2004-09-29, 11:03 am |
| Hello,
I try to model the following structure:
A DomainModel has several Concepts as sons and
a Concept has several Categories as sons and
a Category may also have Categories as sons.
I modeled it like that:
public abstract class DomainModelElement<C extends DomainModelElement>
implements DomainModelTokens {
protected Vector<C> children = new Vector<C>();
...
public class DomainModel extends DomainModelElement<Concept> {
...
public class Concept extends DomainModelElement<Category> {
...
public class Category extends DomainModelElement<Category> {
...
So I pass the child type to the element, so I can use generic
implementations
of the methods for accessing the children. When I compile everything
works fine
until the compiler see the Category class. It says:
Bound mismatch: The type Category is not a valid substitute for the
bounded parameter <C extends DomainModelElement> of the type
DomainModelElement<C> Category.java
although Category is a subclass of DomainModelElement<C>.
Can anybody help?
Thanks beforehand,
David Kensche
| |
| Larry Barowski 2004-09-29, 8:09 pm |
|
"David" <david.kensche@post.rwth-aachen.de> wrote in message
news:e0f4e8a2.0409290432.1853ea7a@posting.google.com...
> ...
> public abstract class DomainModelElement<C extends DomainModelElement>
> implements DomainModelTokens {
> protected Vector<C> children = new Vector<C>();
> ..
> public class DomainModel extends DomainModelElement<Concept> {
> ..
> public class Concept extends DomainModelElement<Category> {
> ..
> public class Category extends DomainModelElement<Category> {
> ..
> ...
>
> Bound mismatch: The type Category is not a valid substitute for the
> bounded parameter <C extends DomainModelElement> of the type
> DomainModelElement<C> Category.java
What version of Java are you using? This seems to work fine
in 1.5.0 rc.
| |
| David 2004-09-30, 11:37 am |
| > What version of Java are you using? This seems to work fine
> in 1.5.0 rc.
Hi,
I am using jdk1.5.0. Don't know what rc stands for but
this should be the same, shouldn't it?
David
| |
| Tor Iver Wilhelmsen 2004-09-30, 11:37 am |
| david.kensche@post.rwth-aachen.de (David) writes:
> I am using jdk1.5.0. Don't know what rc stands for but
> this should be the same, shouldn't it?
RC = release candidate, which was the last version available before
the now-available final release.
|
|
|
|