acceptfilename类中的JCCD操作符(参数不匹配)



我正在构建一个应用程序,从这个网站http://jccd.sourceforge.net/getting_started.html实现一个名为Java代码克隆检测器(JCDD)的API。它给了我一个我不理解的错误。代码如下:

public void jalankanAlgoritma(File FileUtama, List<String> fileJlist) {
    APipeline<?> detector = new ASTDetector();
List<String> jListListnya;
    if (!jListListnya.isEmpty() || jListListnya == null) {
        // looping of compare
        for (String JlistList1 : jListListnya) { //Jlist1 is a swing component
            JCCDFile[] files = {
                new JCCDFile(new File(FileUtama.getAbsolutePath())),
                new JCCDFile(new File(JlistList1))};
          detector.setSourceFiles(files);
          detector.addOperator(new GeneralizeMethodDeclarationNames()); // Method Names
          detector.addOperator(new GeneralizeVariableNames()); //Variable names
            detector.addOperator(new GeneralizeClassDeclarationNames()); // Class name
            detector.addOperator(new AcceptFileNames()); // This is error
            APipeline.printSimilarityGroups(detector.process());
           }
    }
}

netbeans告诉我No suitable method found for addOperator(AcceptFileNames). Method Apipeline.addOperator(Aproccessor is not applicable)

这句话是什么意思?如何解决这个问题?

addOperator方法需要一个类型为GeneralizeClassDeclarationNames超类的参数。当您传递AcceptFileNames类型的参数时,这是不正确的,因为没有方法addOperator与作为参数的AcceptFileNames的方法签名相匹配。您需要确保acceptfilename类继承自与GeneralizeClassDeclarationNames相同的类。

阅读重载的概念

相关内容

  • 没有找到相关文章

最新更新