黑马程序员技术交流社区
标题:
求解
[打印本页]
作者:
班志国
时间:
2012-12-1 20:56
标题:
求解
System.out.println(new String(buf,0,num));
复制代码
new String() 不理解 为啥 new 一个 就能打印出来啊
作者:
王震阳老师
时间:
2012-12-1 21:26
String str=new String(buf,0,num);
System.out.println(str);
上面那个代码只是把我写的两句放在一起了,其实是一样的。
复制代码
作者:
黑马_张伟
时间:
2012-12-1 21:33
你是用字符数组构造了一个String的对象,然后打印String对象。打印的时候调用String对象的toString方法,返回的就是它自己(本身就是一个字符串),然后就输出了。说这么多,其实就是打印一个字符串,和System.out.println("abcd");是一样的
作者:
朝花夕拾
时间:
2012-12-1 23:11
new String实际上是创建了一个String类的匿名对象对象,你在输出时底层默认调用String的toString()方法,返回值就是该字符串,就打印了
作者:
王得新
时间:
2012-12-3 20:10
public static void main(String[] args) {
//创建一个数组,这里举的例子是byte数组
byte[] buf=new byte[]{12,2,43,-12,-23};
//获取数组的长度
int num=buf.length;
//将字节数组转换为字符串,从0位置开始,到num结束
String str=new String(buf,0,num);
System.out.println(str);
System.out.println(str.toString());
//和上面的是等价的只不过是匿名的而已,后面有toString()方法,就是打印String对象的一个具体内容
//toString()有没有都无所谓,重要的是该类复写了Object中的toSring()方法,很明显Sting已经复写了
System.out.println(new String(buf,0,num).toString());
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2