StringBuffer的append和加号的小疑问
有个朋友说
Stringbuffer里用加号,和用append追加数据是一样的。
自己搜了下没有找到答案。
StringBuffer sql = new Stringbuffer();
//这种情况
sql.append("abc"+"123");
//和这种情况
sql.append("abc").append("123");
个人认为在StringBuffer中使用+号貌似就等于在用string+string,也是很消耗内存的操作……
求大牛简单解释下
------解决方案--------------------
java没有运算符重载,但为了方便特准String可以使用“+”和“+=”。
所以StringBuffer不存在使用“+”的情况。
sql.append("abc"+"123");
就是StringBuffer的一次append方法调用,而方法的参数是先执行了一次String+String得来的。
这样写虽然稍微耗点内存,但是是允许的。因为这里连接的是sql语句,可读性的要求大于性能的要求。
------解决方案--------------------
看这里:http://www.ticmy.com/?p=69