private static final String fileAttachment= "D:\hai.txt";
以上行生成错误'invlaid escape sequence'。所以我把它改成了:
private static final String fileAttachment= "D:\\hai.txt";
现在我收到错误'参数fileAttachment'的非法修饰符。
那么如何解决这个错误?
答案 0 :(得分:1)
private static final String fileAttachment= "D:\\hai.txt";
这可能是因为你的变量在任何函数内?
如果是,则将其更改为:
final String fileAttachment= "D:\\hai.txt";
方法内的变量仅存在于堆栈帧上。每次调用方法时,JVM都会创建一个新的堆栈帧,并在方法完成后将其丢弃。
或者更好地在班级级别移动所有常量。请参阅Java Doc Constants
答案 1 :(得分:0)
您必须在任何方法之外进行定义。这就是它给出这个例外的原因。 private
修饰符仅允许在类级别。
答案 2 :(得分:0)
如果要在类级别定义变量,那么第二个选项将起作用。这是:
private static final String fileAttachment= "D:\\hai.txt";
但是如果要在方法级别定义相同的变量(局部变量),则必须删除变量的修饰符和访问说明符。 as:
final String fileAttachment= "D:\\hai.txt";
因为局部变量可以有final
修饰符而不是其他修饰符。