gpt4 book ai didi

java - Java : cannot find symbol中的编译错误

转载 作者:行者123 更新时间:2023-12-02 11:11:48 24 4
gpt4 key购买 nike

我目前有一个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()),则可以正常工作。

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

最佳答案

您的代码is ok,程序流程没有,但是这里不是问题。
唯一不需要的是进口,

删除进口:

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

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

如果不起作用,请 start eclipse in clean mode清理并再次重建项目。

添加

The problem is solved. In fact, it were the * imports which caused the compilation error.
I could access Printer.print(String) but not Printer.print(Exception).
Why was this the case?



只要我在util,lang或io包中找不到任何 Printer类,只有我能想象出出现此错误的情况是:Eclipse导入了 Printer类的先前版本,而 Printer.printError(Exception)方法尚不存在,总之这会导致不良建筑的进口,因此您在多次清洁时遇到问题。

关于java - Java : cannot find symbol中的编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32646617/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com