网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
可签
7
级以上的吧
50
个
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月05日
漏签
0
天
java吧
关注:
1,236,586
贴子:
12,707,594
看贴
图片
吧主推荐
视频
游戏
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
回复
收起回复
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)
收起回复
静以修身
司马沝
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
回复
收起回复
vccccccc
淼淼沝
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
知道原因了吗
IP属地:湖北
16楼
2023-02-24 15:23
回复
收起回复
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧热议榜
1
冯骥的含金量又双叒提升了
2498880
2
吴敬平教练晒与樊振东聊天记录
1967534
3
斯洛伐克威胁报复乌克兰
1573824
4
林高远父亲去世
1497906
5
T1五星新队服亮相
1257360
6
如何评价崩铁3.0主题曲《何者》
1005450
7
吧友挑战八省联考数学绳结题
942696
8
G2步枪手Niko加盟Falcons
799273
9
《误杀3》票房破5亿
581482
10
穿越火线怀旧服真来了
515403
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示