Я создаю функцию, в которой хочу зарегистрировать исключения другого типа во внешней библиотеке. У них уже есть метод, который принимает класс в качестве параметра.
Я хочу прочитать другое исключение из конфигурации и зарегистрировать его, однако я получаю предупреждение о приведении типа. Я могу игнорировать / подавлять его, но есть ли способ не подавить его?
Точное предупреждение: Type safety: Unchecked cast from Class<capture#2-of ?> to Class<? extends Throwable>
Вот пример кода, который выдает предупреждение
Class<?> exceptionClass = Class.forName("java.lang.Exception"); //Getting this value from Config. Let us assume that config is good and I get only valid classname which extends Throwable
registerExceptionInExternalLibrary((Class<? extends Throwable>)exceptionClass); // Getting the warning here
Думаю, я не могу делать здесь кастинг, так как нет объекта. Но если я не использую кастинг, то получаю это предупреждение
The method registerExceptionInExternalLibrary(Class<? extends Throwable>) in the type XXXXX is not applicable for the arguments (Class<capture#2-of ?>)
Вот пример кода
Class<?> exceptionClass = Class.forName("java.lang.Exception"); //Getting this value from Config. Let us assume that config is good and I get only valid classname which extends Throwable
registerExceptionInExternalLibrary(exceptionClass); // Getting the warning here