JAVA字符串在编程中占有重要的地位,它包含在java.lang包中无需声明直接可用;因此,有些String的用法、原理、细节就格外的重要:
一、字符串的不变性
JAVA对象创建后分为两部分,String a = "adc"/String b = new String("abc"); 对象引用和在堆内存中的实际字符串。字符串重新的改变后,该堆内存中重新创建新的字符串对象,由原有的对象引用指向他。
二、字符串的比较
首先,==双的等会比较的是内存地址,而equls.()方法才是比较字符串的值。
①在字符串创建中,多个相同的字符常量,java编译器只创建一次,如 string a = "111" 和 string b=“ 111“;a和b用==或equals都相等。
②而使用String a = new String(),每次都会使用新的内存空间。