有没有人能告诉我string本身是final类型的为什么下面的程序要在他前面加final?
1. final String str1 = "aaa";
2. final String str2 = "bbb";
3. String str3 = "aaabbb";
4.
5.
9. String str4 = str1 + str2;
10. System.out.println(str3 == str4);//true
关于string的final类型
答案:3 悬赏:0 手机版
解决时间 2021-08-13 12:18
- 提问者网友:呐年旧曙光
- 2021-08-12 16:49
最佳答案
- 五星知识达人网友:你哪知我潦倒为你
- 2021-08-12 17:41
String是本身是final,是指String指针指向的内存地址中的内容不能被修改。final String str1是说指针str1是个常量,不能被修改成指向别个地址(也就是别个String)。
String是static final的,当内存中存在相同时。引用相同的地址 String str3 = "aaabbb";
如果* str4 = "aaaa"+"bbb"时str3 != str4
String是static final的,当内存中存在相同时。引用相同的地址 String str3 = "aaabbb";
如果* str4 = "aaaa"+"bbb"时str3 != str4
全部回答
- 1楼网友:摆渡翁
- 2021-08-12 19:36
string类是final的,是说它不可被继承!而str是个变量,加final只是说它不可改变!两者没有直接的关系
- 2楼网友:过活
- 2021-08-12 19:05
只是起迷惑作用吧,你是想问为什么结果是true呢?还是什么?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯