I'm struggling to get the type of second generic from an object.
The abstract class takes two Generic types T and S
abstract class Concept<T, S> {
    
    public Concept() { 
     //do nothing
    }
    public final Class<?> getTypeParam() {
    
        ParameterizedType parameterizedType = (ParameterizedType) getClass().getGenericSuperclass();
        Class<?> result = (Class<?>) parameterizedType.getActualTypeArguments()[0];
        return result;
    }               
}
In this derivative class one (in this case T) generic is defined:
public class Decision<S> extends Concept<String, S>{
    
    public Decision () {
        super();
        System.out.println(getTypeParam()); //returns the first parameterized type. How do I get the second one?
    }       
}
When I now run it I get the first parmerized generic back. Great. But how do I get out the second one?
public class Main {
    public static void main(String[] args){
        Decision<Boolean> myBooleanDecision = new Decision<>();
    }
}
Aucun commentaire:
Enregistrer un commentaire