String相关类
String
1.String是不可变的字符数列,因为源码加了final修饰。
2.字符串比较
最好用equals方法(如果不明白,请看面向对象的==与equals)。
package com.itcode.demo4;
/**
* @Auther: 成都码到功成学员
* @Description:
* String类测试
*/
public class TestWrapper3 {
public static void main(String[] args) {
//
String a = "码到功成";
String b = "码到" + "功成";// 编译器自动优化拼接变成"码到功成"
System.out.println(a==b);// true
String c = "码到";
String d = "功成";
String e = c + d;
System.out.println(e==a);//false
}
}StringBuffer和StringBuilder
概述:是可变的字符数列。StringBuffer和StringBuilder都继承了抽象类AbstractStringBuilder,源码中 ,没有加final修饰。它们的区别是:
StringBuffer:安全,效率低。
StringBuilder:不安全,效率高(一般使用这个)。
示例:
效果:

看哈希值都是1b6d356。
常用方法
StringBuffer和StirngBuilder的方法几乎一模一样。
它们有些方法和String类似,比如: indexOf(String str)、indexOf(String str, int fromIndex)、length()、charAt(int index)、substring(int start, int end)、substring(int start)。
特有方法请看代码示例:
效果:

时间内存对比
可变比不可变更不占空间和耗用内存。
示例:
效果:

Last updated
Was this helpful?