Check if a type is an interface

2020-03-11 17:36发布

问题:

I want to validate a parameter sent to a method, it must be an interface type. What to ask?

void (Class<I> interfaceType){
  if (thisisnotaninterface){
    throw...
  }
}

回答1:

Just use Class#isInterface() to check that

And seriously, you should be reading the Javadocs before asking here.



回答2:

You have got a Class#isInterface() method that does exactly what you want: -

if (!interfaceType.isInterface()) {
    throw...
}