一、比较字串
结果打印false,说明直接用双引号和new创建的字符串所引用的实例是不同的 。==号是比较两个字串是否参考同一个实例 。
String str2 = new String(str1);
相当于
String str1 = "Java";
String str2 = new String(str1);
该语句相当于创建了两个实例。
equal比较的是两个字符串内容是否相同 ,如果运行下面的代码
将返回ture,因为str1与str2字符串内容相同。
二、String 与StringBuffer
String 与StringBuffer在连接字串(append) 方面的优劣比较明显。 String 是不可变对象,StringBuffer是可变对象 。
如果用String来连接字符串
相当于
这样,处理步骤实际上是通过建立一个StringBuffer,让侯调用append(),最后
再将StringBuffer toSting();
这样的话String的连接操作就比StringBuffer多出了一些附加操作,当然效率上要打折扣.String str1 = "Java";
如果在程序中需要对字符串进行频繁的修改连接操作的话,如串接SQL之类,使用StringBuffer性能会更高。