黑马程序员技术交流社区
标题:
final修饰String类型求助
[打印本页]
作者:
ShenFangyu
时间:
2016-4-19 19:20
标题:
final修饰String类型求助
public static void demo() {
String a = "hello2";
final String b = "hello";
String d = "hello";
String c = b + 2;
String e = d + 2;
System.out.println((a == c));//true ???
System.out.println((a == e));//false ???
加上final和不加final什么区别,应该怎么理解?
作者:
ShenFangyu
时间:
2016-4-20 22:37
都没有大神的么?自己顶一下
作者:
泪无痕
时间:
2016-4-21 00:08
加上final只能赋值一次,不加final可以多次赋值
作者:
zhaoch
时间:
2016-4-21 11:13
final之后.变量变成了常量,所以就不能重新复制了,但是 String c = b + 2; 这一句相当一两个字符串链接到了一起,在内存空间里面不创建新的对象,比较的是地址值,所以相等,至于后面那个,开辟了新空间,所以地址值不同
作者:
haitao
时间:
2016-4-21 12:35
加上final的变量就相当于一个变量。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2