string间接赋值和new的区别
2024-09-11 04:00:47
导读: string间接赋值和new赋值的区别 String间接赋值和经常使用new赋值的重要区别在于内存的经常使用和对象的创立: 1. 间接赋值:当经常使用间接赋值的形式创立字符串时,JVM会......
string间接赋值和new赋值的区别
String间接赋值和经常使用new赋值的重要区别在于内存的经常使用和对象的创立 :
1. 间接赋值:当经常使用间接赋值的形式创立字符串时,JVM会先在字符串池中查找能否曾经存在该字符串对象。假设存在,则间接前往该对象的援用;假设不存在,则在字符串池中创立这个对象,而后将该对象的援用赋给变量。假设该字符串曾经被创立过,后续的创立会间接援用已有的对象,不会新建对象。
2. new赋值:当经常使用new的形式创立字符串时,JVM会在堆中创立一个新的字符串对象。假设字符串池中曾经存在该字符串对象,则不会在字符串池中创立新的对象;假设字符串池中不存在该字符串对象,则会在字符串池中也创立一个新的对象。这种形式每次都会新建一个对象,即使该字符串曾经存在。
须要留意的是,String类是一个final类,不可被承袭。它的intern()方法可以用来检测在String pool中能否曾经有这个String存在。
好受揭示:以上内容整顿于网络,仅供参考,假设对您有协助,留下您的浏览感言吧!© 版权声明