String类为什么是final的

首先我们使用new创建一个String对象的时候比如:

String str=new String("123");

这句话里面创建了两个对象,第一个在系统中创建了一个"abc"这个字符串;

然后在创一个Str对象,然后在让"123"这个字符串的引用;

创一个String对象相当于创了两个。

在说说为啥String类设置为final类型。

fianl类型,是一种不能被修改的类型。

试想,如果我对

str=str.toUpperCase();

为啥这个需要返回返回而不是直接改?

首先如果直接改或许会操作到系统创建的abc这个字符串,当再new一个'abc'对象的时候,系统将不再创建abc对象,而是直接将新创建的对象指向'abc'字符串

如果不设置为final类型会导致直接操作系统字符串,导致系统字符串出现问题。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值