社区
Java SE
帖子详情
如何保证引用到的对象是final的?
Andy84920
2007-01-17 10:23:48
final StringBuffer sb = new StringBuffer();
final StringBuffer tmp = new StringBuffer();
sb = tmp; //error
sb.append(tmp); //ok
可以看到sb本身是final的,但sb所引用到的对象是可以进行append操作的,是可以改变的。如何保证sb引用到的对象是final的呢?
...全文
314
4
打赏
收藏
如何保证引用到的对象是final的?
final StringBuffer sb = new StringBuffer(); final StringBuffer tmp = new StringBuffer(); sb = tmp; //error sb.append(tmp); //ok 可以看到sb本身是final的,但sb所引用到的对象是可以进行append操作的,是可以改变的。如何保证sb引用到的对象是final的呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xoele
2007-01-18
打赏
举报
回复
这个也是没有办法的啊 ,因为 Java 里面所有东西都是指针,
要不你自己写个类,只读的,不让别人改,那不就是彻底的final了吗
luyang1016
2007-01-18
打赏
举报
回复
再补充以下:
public static final String str = "abc";
str = "def"; // 出错。
str 就是final的。
先在栈中创建一个对String类的对象引用变量str,然后查找栈中有没有存放"abc",如果没有,则将"abc"存放进栈,并令str指向”abc”,
如果已经有”abc” 则直接令str指向“abc”。
接着又按照刚才的把"def"放进栈,将str指向"def".
但是由于 str 是 final, 指针变了, 所以错了
luyang1016
2007-01-18
打赏
举报
回复
相当于指针不能变,但指针所指的内容可变
===================================
精辟
believefym
2007-01-17
打赏
举报
回复
这个能保证?
final是说sb = tmp是不允许的,不是说引用的对象不可改变,相当于指针不能变,但指针所指的内容可变
java为什么匿名内部类的参数
引用
需要添加
final
?
java为什么匿名内部类的参数
引用
需要添加
final
? 先看一段代码 这段代码有时可以对外部变量进行赋值,有的又不可以,这是为什么呢? 网上有很多答案,但都没有说明清楚,反而在实验的过程中发现的现象让人越来约迷糊。 ...
为什么在匿名内部类中
引用
外部
对象
要加
final
修饰符
回答你的问题,为什么在匿名内部类中
引用
外部
对象
要加
final
修饰符呢,因为,在匿名内部类中
引用
的外部
对象
受到外部线程的作用域的制约有其特定的生命周期,以线程为例,当外部的变量生命周期已经完结之后,内部的...
final
和
引用
类型
一、
final
关键字 作用:可以用于修饰类、方法和...
引用
类型的局部变量,被
final
修饰后,只能指向一个
对象
,地址不能再更改。但是不影响
对象
内部的成员变量值的 修改 被
final
修饰的常量名称,一般都有书写规范...
String类为什么是
final
类型?
String类为什么是
final
类型? 首先,先得清楚
final
这个关键字。
final
的出现就是为了为了不想改变,而不想改变的理由有两点:...如果有一个String的
引用
,它
引用
的一定是一个String
对象
,而不可能是其他类的
对象
。 Str
Java
final
关键字全解析:不变的
引用
,可变的
对象
在Java中,
final
关键字用于声明常量或不可变的
引用
。
final
关键字确保
引用
本身不被重新赋值。 但是,
引用
所指向的
对象
(如果是可变
对象
)可以被修改...
final
关键字限制的是
引用
的变更,但不限制
对象
内部状态的变更。
Java SE
62,627
社区成员
307,258
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章