黑马程序员技术交流社区
标题:
关于StringBuffer的问题
[打印本页]
作者:
syfsyf1993
时间:
2015-2-5 20:44
标题:
关于StringBuffer的问题
int[] arr = new int[]{1,2,3}
StringBuffer sb = new StringBuffer();
sb.appeng("123");
两者都是new出来的
为什么输出arr是个地址
而输出sb的时候不是地址,是里面的123值???
求解啊
作者:
syfsyf1993
时间:
2015-2-5 20:45
写错了 上面是sb.append
作者:
白衣布士
时间:
2015-2-5 21:03
说明StringBuffer重写了toString方法
作者:
丶人世百态
时间:
2015-2-5 21:10
因为StringBuffer类里面的toString()重写了object类的toString()方法
作者:
张_磊
时间:
2015-2-5 21:49
int类型的数组需要遍历才能输出123。StringBuffer重写了toString方法,所以输出的是字符串
作者:
奔跑的猴子
时间:
2015-2-5 22:32
所有之类默认继承了object类的toString方法,对于Object的toString来说,默认输出的就是地址值,作用不大,所以很多类都有重写了这个方法。对于数组,可以使用for进行遍历输出,也可以调用Arrays工具的toString方法使用,格式为: System.out.println(java.util.Arrays.toString(arr);)
作者:
huangchunwei
时间:
2015-2-6 10:21
StringBuffer重写了Object的toString( )方法。你可以在API文档中找一下就明白了。
作者:
㏒假™面具
时间:
2015-2-7 01:46
StringBuilder 你可以看下源码,该类覆写了toString()方法
作者:
duxubo
时间:
2015-2-7 21:10
arr是数组 sb的StringBuffer重写了toString方法
作者:
Doug
时间:
2015-2-7 23:30
打印引用类型时,都是调用该类型的toString()方法。该方法继承自Object类,默认是返回类型@地址,但子类可以重写。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2