Java generics, get Class of generic parameter

后端 未结 2 2056
天命终不由人
天命终不由人 2021-01-31 07:50

I have an abstract class:

public abstract class RootProcessor {
    Class clazz;
}

I need to fill ClassT clazz;

2条回答
  •  星月不相逢
    2021-01-31 08:18

    There is a post of the same subject: Reflecting generics

    And a class that implement it:TypeArgumentsUtils.java

    An example is in the unit test.

    So if you have this class:

    public class BarProcessor extends RootProcessor {
        public BarProcessor() {
        }
    }
    

    than you would get the first parameter with:

    Class barClass = TypeArgumentsUtils.getFirstTypeArgument(
            RootProcessor.class, BarProcessor.class);
    

提交回复
热议问题