Generics strange behavior
Generics strange behavior
(OP)
Hi everyone!
I've noticed an strange behavior when using Generic types, o maybe there's something missing that i don't know, after all i'm newbie dealing with generics:
where Event is a class well defined in Event.java and Type.ARRIVAL is a static final form class Type in Type.java
This piece of code works fine, but the devil appears with the following modification:
when the program reaches list.add(new Event(blah blah...)); in the for statement i get a:
any idea of why i get this exception?
any help would be appreciated
:D
I've noticed an strange behavior when using Generic types, o maybe there's something missing that i don't know, after all i'm newbie dealing with generics:
CODE
import java.util.PriorityQueue;
import java.util.Random;
public class Erlang {
public static void main(String[] args){
Random unif=new Random();
PriorityQueue<Event> list=new PriorityQueue<Event>();
list.add(new Event(unif.nextDouble(), Type.ARRIVAL));
}
}
import java.util.Random;
public class Erlang {
public static void main(String[] args){
Random unif=new Random();
PriorityQueue<Event> list=new PriorityQueue<Event>();
list.add(new Event(unif.nextDouble(), Type.ARRIVAL));
}
}
This piece of code works fine, but the devil appears with the following modification:
CODE
import java.util.PriorityQueue;
import java.util.Random;
public class Erlang {
public static void main(String[] args){
Random unif=new Random();
PriorityQueue<Event> list=new PriorityQueue<Event>();
for(int i=0; i<10; i++)
list.add(new Event(unif.nextDouble(), Type.ARRIVAL));
}
}
import java.util.Random;
public class Erlang {
public static void main(String[] args){
Random unif=new Random();
PriorityQueue<Event> list=new PriorityQueue<Event>();
for(int i=0; i<10; i++)
list.add(new Event(unif.nextDouble(), Type.ARRIVAL));
}
}
CODE
Exception in thread "main" java.lang.ClassCastException: Eventt
at java.util.PriorityQueue.fixUp(Unknown Source)
at java.util.PriorityQueue.offer(Unknown Source)
at java.util.PriorityQueue.add(Unknown Source)
at Erlang.main(Erlang.java:9)
at java.util.PriorityQueue.fixUp(Unknown Source)
at java.util.PriorityQueue.offer(Unknown Source)
at java.util.PriorityQueue.add(Unknown Source)
at Erlang.main(Erlang.java:9)
any idea of why i get this exception?
any help would be appreciated
:D




