一、java字符串
·在java中,字符串被作为String类型的对象处理
二、创建String对象的方法
//创建一个字符串对象UMRjaelYn,名为s1 String s1 = "UMRjaelYn"; //创建一个空字符串对象,名为s2 String s2 = new String(); //创建一个字符串对象UMRjaelYn,名为s3 String s3 = new String("UMRjaelYn");
三、java中字符串的不变性
·String对象创建后则不能被修改,是不可变的,所谓的修改其实是创建了新的对象,所指向的内存空间不同
String s1 = "UMRjaelYn"; String s2 = "UMRjaelYn"; String s3 = new String("UMRjaelYn"); String s4 = new String("UMRjaelYn"); //多次出现的字符常量,java编译程序只创建一个,所以返回true System.out.println(s1==s2); //s1和s3是不同的对象,所以返回false System.out.println(s1==s3); //s3和s4是不同的对象,所以返回false System.out.println(s3==s4); s1 = s1 + "!"; //字符串s1被修改,指向新的内存空间 System.out.println(s1);
·通过String s1 = "UMRjaelYn"; 声明了一个字符串对象,s1存放了到字符串对象的引用·然后通过s1 = s1 + "!"; 改变了字符串s1,其实质是创建了新的字符串对象,变量s1指向了新创建的字符串对象
·一旦一个字符串在内存中创建,则这个字符串将不可改变,如果需要一个可以改变的字符串,我们可以使用StringBuffer和StringBuilder
·每次new一个字符串就是产生一个新的对象,即使两个字符串的内容相同,使用“==”比较时也为“false”,如果只需要比较内容是否相同,应使用“equals()”方法
四、java中的常用方法
·见API文档
五、“==”和equals()的区别
·==:判断两个字符串在内存中收地址是否相同,即判断是否是同一个字符串对象
·equals():比较存储在两个字符串对象中的内容是否一致
六、java中的StringBuilder类
·在java中,除了可以用String类来存储字符串,还可以使用Builder类或StringBuffer类存储字符串
·当频繁操作字符串时,就会额外产生很多临时变量,使用StringBuilder或StringBuffer就可以避免这个问题
·至于StringBuilder和StringBuffer,它们基本相似,不同之处,StringBuffer是线程安全的,而StringBuilder则没有实现线程安全功能,所以性能略高,因此一般情况下,应优先考虑使用StringBuilder类
七、定义StringBuilder类的对象
//创建一个空的StringBuilder对象 StringBuilder str1 = new StringBuilder(); //创建一个字符串"UMRjaelYn" StringBuilder str2 = new StringBuilder("UMRjaelYn");