Casting enums in a class

I have five cases of enums that look like this one below:

public enum Answers{
    A(0), B(1), C(2), D(3), E(4);

    Answers(int code){
        this.code = code;
    }

    protected int code;

    public int getCode(){
        return this.code;
    }
}

They all are all virtually the same except consisting of different "codes" and enumerators. I now have this following class where the generic is an extension of an Enum, however, I need to be able to use the getCode(), which is only in my enums, not a basic enum.

public class test<T extends Enum>{
    public void tester(T e){
        System.out.println(e.getCode()); //I want to be able to do this, 
                                         //however, the basic enum does don't
                                         //have this method, and enums can't extend
                                         //anything.
    }
}

Thank you

Jon Skeet
people
quotationmark

You can make your enums implement an interface:

public interface Coded {
    int getCode();
}

Then:

public enum Answers implements Coded {
    ...
}

And:

public class Test<T extends Enum & Coded> {
    public void tester(T e) {
        System.out.println(e.getCode());
    }
}

people

See more on this question at Stackoverflow