NameExpr无法转换为String

时间:2018-03-08 10:44:12

标签: java

我想获取包名但我收到错误

错误: 不兼容的类型:NameExpr无法转换为String

String packagePrefix = cu.getPackage().getName();

我试图转换" getPackage()。getName()"用以下代码的toString()方法字符串:

String packagePrefix = cu.getPackage().getName().toString();

我得到以下错误:

Error:cannot find symbol:method.toString()
location:class NameExpr

根据这个问题,NameExpr类可能不包含toString()方法:What does a "Cannot find symbol" compilation error mean? 我该如何解决这个问题?

编辑: 完整代码:

 public static String parseClassname(File filename) throws Exception {
        try (FileInputStream fin = new FileInputStream(filename)) {
            CompilationUnit cu = JavaParser.parse(fin);
            String packagePrefix = cu.getPackage().getName().toString();
            if (!packagePrefix.isEmpty()) packagePrefix += ".";

            for (TypeDeclaration type : cu.getTypes())
            {
                if (type instanceof ClassOrInterfaceDeclaration) 
                return packagePrefix + type.getName();    

            }
        }
        return null;
    }

0 个答案:

没有答案