首先我們使用new創建一個String對象的時候比如:
String str=new String("123");
這句話里面創建了兩個對象,第一個在系統中創建了一個"abc"這個字符串;
然后在創一個Str對象,然后在讓"123"這個字符串的引用;
創一個String對象相當於創了兩個。
在說說為啥String類設置為final類型。
fianl類型,是一種不能被修改的類型。
試想,如果我對
str=str.toUpperCase();
為啥這個需要返回返回而不是直接改?
首先如果直接改或許會操作到系統創建的abc這個字符串,當再new一個'abc'對象的時候,系統將不再創建abc對象,而是直接將新創建的對象指向'abc'字符串
如果不設置為final類型會導致直接操作系統字符串,導致系統字符串出現問題。。