Determining the Type for a generic method parameter at runtime

后端 未结 2 569
忘了有多久
忘了有多久 2021-01-13 19:27

Given the a class with the following structure. I am trying to determine the type of the parameter T assigned by the caller of the generic method.

public cl         


        
相关标签:
2条回答
  • 2021-01-13 20:18

    You can't, generics aren't available at runtime. If you had an instance of T, you could always check if T object was an instance of a specific class with instanceof.

    This is due to type erasure.

    An other way is to use the Class class as a parameter (see @ColinD's answer)

    0 讨论(0)
  • 2021-01-13 20:25

    You can't do that. What you could do is make the method signature like this:

    public boolean isSupportable(Class<?> type)
    

    Then you can use the given class to check the type.

    0 讨论(0)
提交回复
热议问题