网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
可签
7
级以上的吧
50
个
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月22日
漏签
0
天
java吧
关注:
1,270,482
贴子:
12,775,928
看贴
图片
吧主推荐
视频
游戏
34
回复贴,共
1
页
<返回java吧
>0< 加载中...
不是说数组用final修饰后,
只看楼主
收藏
回复
I哆啦A梦不是梦
淼淼淼水
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
不是说数组用final修饰后,不是数组的值可以改变,而是数组的地址不可以改变了呢,String底层是一个final char value[],为啥可以修改地址而不可以改变值呢?
送TA礼物
来自
Android客户端
1楼
2017-05-30 15:39
回复
I哆啦A梦不是梦
淼淼淼水
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
@Ironresolve老王帮我看看嘛,谢谢了
来自
Android客户端
2楼
2017-05-30 15:46
回复
收起回复
2025-07-22 08:37:49
广告
不感兴趣
开通SVIP免广告
I哆啦A梦不是梦
淼淼淼水
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
@Ironresolve
来自
Android客户端
3楼
2017-05-30 15:46
回复
收起回复
I哆啦A梦不是梦
淼淼淼水
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
老哥,你可能理解错误我的意思了,String底层是一个final char value[] 实现,但是 final 修饰 数组的 作用 是 此数组的值可以改变,但是它的引用不能改变,
而且String如下面,值不可以改变,但是可以改变引用
所以,我就觉得这不是矛盾嘛
@一共丢10只羊
5楼
2017-05-30 16:41
回复(2)
收起回复
I哆啦A梦不是梦
淼淼淼水
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
来自
Android客户端
6楼
2017-05-30 16:53
回复
收起回复
I哆啦A梦不是梦
淼淼淼水
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
来自
Android客户端
7楼
2017-05-30 20:35
回复
收起回复
zzy_小仙
淼淼淼
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
String str ="123";
str = "345";
"345"代表了一个新的字符串,一个新的地址
IP属地:河南
8楼
2017-05-30 22:03
回复(2)
收起回复
老衲经常梳头
淼淼淼沝
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
你的理解有误, String里内置的char[]是final的, 不代表你申明的string也是final的, 如果你是这样申明的: final String str = "123"; 那这个str当然不能重新赋值.
IP属地:江苏
9楼
2017-05-30 22:26
回复(4)
收起回复
2025-07-22 08:31:49
广告
不感兴趣
开通SVIP免广告
静以修身
司马沝
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
两个new本来就不对
IP属地:河南
来自
Android客户端
10楼
2017-05-31 06:46
回复(1)
收起回复
黑熊猫爱看书
司马水
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
string不可改变还因为,他没有提供api让你直接修改char数组的内容,而且类是final让你无法通过继承来修改api。它内部的api都是返回一个新的char数组。
IP属地:广东
来自
Android客户端
11楼
2017-05-31 07:23
回复(1)
收起回复
joker游戏
淼淼淼沝
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
final修饰的数组,地址不可变这是肯定的,但对象的地址可变,两者没有任何关系,String是String数组是数组。
不能改变值如楼上所说是没有给出方法,而且final了,这是为了保证常量池不会因为修改而导致,原本是不相等的两个字符串变成一样了,这对性能是一种浪费
IP属地:广东
12楼
2017-05-31 15:46
回复(2)
收起回复
DemoCode
淼淼淼
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
刚看楼主的问题确实很有道理很矛盾,看下截图的注释,那个value存储的是当前String对象的值,value的地址应该是不变的,即使当前String对象的值发生改变对value的地址没有影响。接着说String,他只是final类,而String xxx =“aaa”只是声明一个变量没有用final修饰说明他是个变量不是常量,因此他被重新赋值时是改变引用的。
如果有错互相探讨下。
来自
Android客户端
13楼
2017-06-01 16:24
回复
收起回复
心DE觉悟
司马沝
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
因为改变String的时候重新创建了一个String对象,是另外一个final 的char数组
IP属地:广东
14楼
2017-06-02 14:49
回复
收起回复
咚咚咚咚丶baby
淼淼沝
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
String有给你提供修改value的方法吗?
IP属地:湖南
来自
Android客户端
15楼
2020-04-16 21:59
回复
收起回复
2025-07-22 08:25:49
广告
不感兴趣
开通SVIP免广告
vccccccc
淼淼沝
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
知道原因了吗
IP属地:湖北
16楼
2023-02-24 15:23
回复
收起回复
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧热议榜
1
TYLOO战队夺冠创造中国CS新历史
2107401
2
明日方舟夏活被内鬼曝完了
1931636
3
Kiin配的上FMVP吗
1872693
4
中国建大坝印度不干了
1360216
5
错失冠军Tarzan发文道歉
1051100
6
崩铁3.4虚构难度如何?
884712
7
小当家做出这个菜死的不冤
881015
8
LNG 0:2不敌NIP谁的锅
715220
9
宝可梦门店「进门识图」防黄牛
658392
10
特朗普发奥巴马“被抓”的AI视频
563040
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示