Java中的编译错误:找不到符号

sweerpotato

我目前有一个Printer可以静态访问的类,但是当我在向该类添加函数后尝试编译项目时,我得到了error: cannot find symbol

我知道这通常是由错别字,作用域外的引用和错误的声明引起的,但是奇怪的是,旧方法可以正常工作。

该代码与我自己的代码具有完全相同的结构,并且可以正常工作:

import java.util.*;
import java.lang.*;
import java.io.*;

class Printer {
    private static String errorTitle;
    private static String regularTitle;

    Printer(String regularTitle_) {
        errorTitle = "Some error: ";
        regularTitle = regularTitle_;
    }

    public static void printError(Exception e) {
        System.out.println(errorTitle + e.getMessage());
    }

    public static void print(String message) {
        System.out.println(regularTitle + message);
    }
}

class Main {
    public static void main(String[] args) {
        new Printer("Message: ");

        try {
            throw new Exception();
        }
        catch(Exception e) {
            //This works
            Printer.print(e.toString());

            //This generates a cannot find symbol error when compiling
            Printer.printError(e);
            //     ^ here
        }
    }
}

完整的错误消息是:

[javac] Compiling 1 source file to C:\Javaprojects\MyProject\alpha\build
[javac] C:\Javaprojects\MyProject\alpha\src\Main.java:35 error: cannot find symbol
[javac] Printer.printError(e);
[javac]        ^
[javac] symbol: method printError(Exception)
[javac] location: class Printer
[javac] 1 error

如果我更改Printer.printError(e)为,则效果很好Printer.print(e.toString())

可能是什么原因造成的?难道是我指的是某种已编译类的缓存版本?

乔迪·卡斯蒂利亚

您的代码可以,程序流程不行,但是这里不是问题。进口是唯一没有必要的东西,


删除进口:

import java.util.*;
import java.lang.*;
import java.io.*;

清理项目,然后重新生成。


如果这不起作用,请以clean模式启动eclipse,再次清理并重建项目。


添加在

问题已经解决了。实际上,是*导入引起了编译错误。
我可以访问Printer.print(String)但不能访问Printer.print(Exception)
为什么会这样呢?

只要我无法Printer在util,lang或io包中找到任何类,就可以想象得到此错误的唯一情形是:Eclipse正在导入Printer该方法Printer.printError(Exception)尚不存在的的先前版本,将汇总为import导致建筑物质量不佳,因此您在进行多次清洁时仍然遇到问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Android Studio中突然发生编译错误;错误:找不到符号类ComputableLiveData

Maven项目编译错误:找不到符号(这是java.lang.String)

编译错误找不到符号new Dashboard(); ^符号:类仪表板位置:类Main 1

Java编译错误:找不到符号

由于出现“找不到符号类X”错误,因此无法在Intellij Idea中编译Java类

编译错误:找不到符号:In,StdIn和StdOut

Maven和Protobuf编译错误:在com.google.protobuf包中找不到符号

Visual Studio Code中的Java编译错误:找不到或加载主类

golang编译错误:找不到导入

我在BlueJ中找不到的编译错误

Java编译错误:/ bin / ld:找不到-ljvm

Maven编译错误:找不到符号

Java,找不到符号错误?

Maven:没有编译错误,但仍然找不到符号

编译错误:找不到具有自定义属性的符号FragmentBindingImpl

编译Java程序“找不到符号”时发生错误

找不到符号(java编译时错误)

错误:找不到Java中的异常符号

Flash编译错误-找不到***

编译器错误-找不到符号

编译时错误:找不到符号Jlabel

编译.java文件时找不到符号错误

错误:找不到符号-Java编译错误

Java编译错误:找不到符号

Java-javax.json-编译错误:.getValueType()的“找不到符号”-似乎找不到原因

这里的“找不到符号”编译错误是什么意思?

编译错误:在Android Studio中找不到符号AudioEffect :: setParameter

Java中的“找不到符号”错误

Java编译错误“找不到变量”持续存在