String与StringBuff 的比较

2014-11-23 23:27:01 · 作者: · 浏览: 5

1)String的联合+方法与StringBuff的append方法的区别:


String的+运算符在进行字符串运算时,首先将当前的字符串对象转换为StringBuff 类型,调用其append方法,最后再将生成的StringBuff 对象通过其toString 方法转换为String类型的字符串,所以其效率要低。


但是在可读性上,还是String的连接运算符要高。


2)StringBuff是线程安全的


String是线程是飞安全的


3)String是不可以修改的字符串对象,而StringBuff是可以修改的。


public static boolean fileCopy(String srcStr, String destStr) {


File srcFile = null;


File destFile = null;


Reader reader = null;


Writer writer = null;


boolean flag = false;


try {


srcFile = new File(srcStr);


if (!srcFile.exists()) {


System.out.println(“源文件不存在”);


System.exit(0);


} else {


reader = new FileReader(srcFile);


}


destFile = new File(destStr);


writer = new FileWriter(destFile);


char[] buff = new char[1024];


int len;


String str = “”;


StringBuffer sbuff = new StringBuffer();


while ((len = reader.read(buff)) != -1) {


// str += new String(buff, 0, len);


sbuff.append(new String(buff,0,len));


}


// writer.write(str.toCharArray());


writer.write(sbuff.toString().toCharArray());


flag = true;


writer.flush();


reader.close();


writer.close();


} catch (IOException e) {


System.out.println(“文件拷贝异常:= ” + e.getMessage());


}


return flag;


}