例如:   String source="This is the file content\n"+"a new line\n";
byte buf[]=source.getBytes();
System.out.println(new String(buf));
中的new String(buf)是什么意思?为什么要这样才能显示输出buf的内容,buf不是数组么?为什么试着用buf[]就不行呢?

解决方案 »

  1.   

    好好复习一下Java语法基础吧!
    buf是字节数组,自己是Java存储任何数据的原始单位
      

  2.   

    如果你要输出一个字节数组中每个元素的内容,那可以用循环一个一个输出;
    但是如果你想将这个字节数组拼成一个字符串输出,那么就用 new String(byte[]) 方法获得拼出来的字符串。
      

  3.   

    byte buf[]=source.getBytes();
    这句已经把字符串source转换成了字节数组,如果直接输出System.out.println(buf[]),必须用循环
    for(int i=0;i<buf.length;i++) {
       System.out.println(buf[i]);
    }
    程序按字节解析,会依次输出第个字符的ascii码值
    如果你想一次输出整个字符串,就必须再把字节数组转换成字符串
    用new String
      

  4.   

    String 类有多种构造器,自己看下。。
      

  5.   

    A String constructor with a char array as its parameter...