Я хотел бы проверить, является ли имя класса действительным во время компиляции. Я могу, конечно, импортировать класс и получить ошибку компиляции, однако я хочу, чтобы уловить эту ошибку. Как я могу это сделать, если это нехорошо, какие другие альтернативы я могу сделать?Проверка правильности имени класса в Java
Например
import com.foo.classname;
public class Foo {
public String classProperties() {
if(classname) {//this is when class is found
ClassName className = new ClassName();
return className.toString();
}
else {//this is when class is not found
return getOtherProperty();
}
}
}
Пожалуйста, не оставляйте ничего такого, как среда выполнения Class.forName
решений.
Редактировать: Получив так много отрицательной обратной связи. Я хотел бы объяснить немного больше о моей идее.
Мои основные мотивационные идеи были:
1) Я видел некоторый код, которые с помощью отражения для этого. Например, загрузка библиотеки из JDK 7 и использование этих методов библиотеки для инициализации String, а также запись чего-то еще (возможно, менее эффективного) для блокировки блока, где происходит исключение. Я хотел избежать этой ситуации
2) И ошибки, и предупреждения создаются компилятором. Если мы можем подавить предупреждение, то я подумал, что можно было подавить ошибку.
Класса действует <=> кода компилируется с соответствующим импортом – assylias
я знаю, но, как я сказал, что я должен делать, когда он является недействительным? Тогда код не будет компилироваться, но я хочу, чтобы он компилировался и хотел бы обработать это. –
Импортировать класс, если он существует, или создать класс, если это не так? Вы должны объяснить, чего вы пытаетесь достичь, потому что ваши вопросы не имеют большого смысла ... – assylias