Java文字真的不变吗?

时间:2013-09-11 19:39:36

标签: java

我看到/听到人们把文字称为常量,但它们真的是常量吗?

我认为final是一个常数:

 final constantNumber = 10;

E.g。在下面的文字中,我可以更改值。

int testNumber = 10;
System.out.println(testNumber);
testNumber = 20;
System.out.println(testNumber);

2 个答案:

答案 0 :(得分:12)

在你的例子中

int testNumber = 10;

10是文字,不是testNumber。是的,这是一个常数。

答案 1 :(得分:1)

是的,那些文字是不变的。

According to the wiki defenition:

  

literal是在源代码中表示固定值的表示法   与文字相反,变量或常量是可以采用一类固定值之一的符号,常量被约束为不改变。文字通常用于初始化变量。

例如,在下面,1是文字,"cat"中的三个字母字符串是文字:

 int a = 1;
 String s = "cat";

此处1是文字,a是可变的。