String类为什么是final的

时间:2022-04-27 20:53:26

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

String str=new String("123");

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

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

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

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

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

试想,如果我对

str=str.toUpperCase();

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

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

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

String类为什么是final的