char[] 的长度取出来怎么有问题?和其中的实际数据长度不一致,里面含有中文字符,这没有什么问题吧?

解决方案 »

  1.   

    char[] c = {'我','爱','北','京','天','安','门'} ;
            System.out.println(c.length);--> c.length=7 ;
      

  2.   

    没问题
    char[] aa = "dssd速度fggf苏打".toCharArray(); 
    System.out.println(aa.length);anser :12
      

  3.   

    数组不是都有一个length属性吗
      

  4.   

    是这样的,我要传递数据到客户端,数据传递完毕,需要在客户端读出来,客户端使用Delphi写的,服务器端在向客户端发送数据的时候,需要把字符数组的长度发过去,通知客户端读取多少数据,现在发现和实际的char[]的长度相等的时候读取不出数据来,不清楚怎么回事。我怀疑是字符[]长度的问题
      

  5.   

    java的char是16位的,你应该转换为byte[]
      

  6.   

    因为你用的是char[]来测中文字符,如果中文字符的编码没有超过128的话就没有问题,如果超过了128的话就算两个字节.所以就会出现上述问题.