如何检查java项目中是否存在类?

时间:2016-01-21 20:18:32

标签: java exception

根据要求,我有类的名称,我需要检查这个类的名称是否存在于特定的包中。这是我的项目结构:

app/entities/ <Classes>
app/contracts/CheckClass.java

我正在编写CheckClass.java中的代码,并在文件中获取classNotFoundException。这是我的以下代码:

public boolean isClass(String className) {
   try {
        Class.forName(className.trim());
        return true;
    } catch (ClassNotFoundException e) {
        return false;
    }
}

我每次都会ClassNotFoundException。我检查了传递正确类名的className字符串。是因为不同的包装?

2 个答案:

答案 0 :(得分:2)

您的班级名称必须是完全合格的,请参阅Class#forName(String)

  

例如,以下代码片段返回名为Class的类的运行时java.lang.Thread描述符:

     

Class t = Class.forName("java.lang.Thread")

在您的情况下:app.contracts.CheckClass

答案 1 :(得分:0)

来自Javadoc

  

参数:

     

className - 所需类的完全限定名称。

完全限定的类名称采用package.class格式。一个例子是java.lang.System。永远看看Javadoc。

根据您的问题,“我需要检查此类名称是否存在于特定包中” - 我会添加if语句来检查className是否以包开头字符串。