Java 中简单字符串对象的错误

Errors with simple String object in Java

我正在尝试编译以下代码:

public class Test {

    public static void main(String[] args) {
        String final = new String("");
        final = "sample";
        System.out.println(final);
    }
}

显然,编译器向我显示了以下错误:

Test.java:5: error: not a statement
    String final = new String("");
    ^
Test.java:5: error: ';' expected
    String final = new String("");
          ^
Test.java:5: error: illegal start of type
    String final = new String("");
                 ^
Test.java:6: error: illegal start of type
    final = "sample";
          ^
Test.java:7: error: illegal start of expression
    System.out.println(final);
                       ^
Test.java:7: error: illegal start of type
    System.out.println(final);
                            ^

我已经尝试用 String final; 替换 String final = new String(""); 但编译器仍然显示这些错误。知道是什么原因造成的吗?

final就是reserved Java keyword. You can't use it as a variable name. Read more about the naming of variables in Java。这样做:

String string = new String("");
string = "sample";
System.out.println(string);

但是,这是可能的,因为它仍然遵守一次赋值的规则:

final String string;
string = "sample";
System.out.println(string);

另一方面,如果你想让Stringfinal不是作为变量名,而是作为特征,你必须把它放在String定义的左边。但是,第二行无法编译,因为您无法修改标记为 final.

的变量
final String string = new String("");
string = "sample";                // not possible, string already has a value
System.out.println(string);

final变量的行为是你只能初始化它一次。在 How does the “final” keyword in Java work?

阅读更多内容

finaljava中的关键字(保留字)。您不能使用关键字作为变量名。试试其他名字。

试试这个代码:-

public class Test
{
  public static void main(String[] args)
  {
    String Final = new String("");
    Final = "sample";                 // final is keyword so use Final or some other names
    System.out.println(Final);
   }
 }

输出:-

sample

final 是 Java 中的保留关键字。重命名变量。