blob: 77e6bb02bdc4ea93f72f7f95b841bcf2579a90c6 [file] [log] [blame]
class TestGenerics {
static interface EnumInterface {
public String getSomething();
}
static enum Enum1 implements EnumInterface {
A("alpha"),
B("beta"),
G("gamme"),
;
private String text;
Enum1(String text) {
this.text = text;
}
public String getSomething() {
return text;
}
}
static class TestBase<I extends Enum<I> & EnumInterface> {
protected final void add(Eval eval) {
eval.hashCode();
}
abstract class Eval {
private I enumI;
public Eval(I enumI) {
this.enumI = enumI;
}
public final void doSomething() {
System.out.println(enumI.getSomething());
}
}
}
class Test1 extends TestBase<Enum1> {
public Test1() {
add(new Eval(Enum1.A) {});
}
}
}