首页 > 代码库 > 字符串的使用(string,StringBuffer,StringBuilder)
字符串的使用(string,StringBuffer,StringBuilder)
String中==与equals的区别:
==比较字符串中的引用相等
equals比较字符串中的内容相等(因为字符串有重写equals方法)
例子:
/************ String中的equals与== *****************/
/*
* ==比较字符串中的引用相等
* equals比较字符串中的内容相等(因为字符串有重写equals方法)
*/
// public static void main(String[] args) {
// String s1 = new String("abc");
// String s2 = new String("abc");
// System.out.println(s1.equals(s2));// true
// System.out.println(s1 == s2);// false
//
// String s3 = new String("aaaa");
// String s4 = s3;// s3把引用赋值给s4
// System.out.println(s3.equals(s4));// true
// System.out.println(s3 == s4);// true
// }
String与StringBuffer的不同点: 1、String类是不可改变的,而StringBuffer类是可变的 可修改的
2、String类覆盖了Object的equals方法,而StringBuffer没有
3、String类可以使用”+”进行连接, 而StringBuffer对象之间不能通过”+”进行连接使用append方法进行连接
例子
/**************StringBuffer的使用*****************/
// public static void main(String[] args) {
// //String不可以修改字符串
// String str = "abc";//创建一个字符串对象
// str = "aaa";//创建一个新的字符串
// str = str+"www";//还是创建了一个新的字符串
//
// //StringBuffer可修改字符串
// StringBuffer buffer = new StringBuffer();
// System.out.println("大小:"+buffer.length());
// System.out.println("容量:"+buffer.capacity());
// buffer.append("abc");//追加字符串
// System.out.println("大小:"+buffer.length());
// System.out.println("容量:"+buffer.capacity());
// buffer.append("ddd");
// System.out.println("容量:"+buffer.capacity());
// buffer.append("wwwwwwwwwwwwwww");
// System.out.println("容量:"+buffer.capacity());
//
// StringBuffer strBuffer1 = new StringBuffer("www");
// StringBuffer strBuffer2 = new StringBuffer("www");
// //StringBuffer没有重写equals方法所以比较的是引用是否相等
// System.out.println(strBuffer1.equals(strBuffer2));
// }
StringBuilder类与StringBuffer类:
StringBuilder也是一个操作字符串的类,它与StringBuffer的功能是一样的,
主要区别在于,StringBuilder是非线程安全的,StringBuffer是
线程安全的,所以StringBuilder效率要高,在使用过程中,要根据具体的
情况考虑,如果环境对线程安全没要求,就可以使用StringBuilder