检查类名是否在Java中有效

时间:2014-01-14 23:45:29

标签: java class

我想检查类名在编译时是否有效。我当然可以导入类并获得编译错误,但我想要的是能够捕获此错误。我怎么能这样做,如果这不是一个好方法,我可以做其他替代方案吗?

例如

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)我见过一些使用Reflection的代码。例如从JDK 7加载库并使用该库方法初始化String,还要编写其他内容(可能效率较低)来捕获发生异常的块。我想避免这种情况

2)编译器都会创建错误和警告。如果我们可以抑制警告,那么我认为可以抑制错误。

1 个答案:

答案 0 :(得分:2)

要获得这样的编译错误,您必须在编译器级别工作,要么编写自己的编译器,要么使用JavaCC或Javassist之类的东西。

干杯