C中有sizeof关键字可以计算某种数据类型所占的字节数,但是java中却没有,那么java中如何怎么得到char类型所占的字节数呢(char中在java中是占两个字节,但是如果事先不知道呢,有没有什么办法得出char在java中所占的字节数)
    我在网上搜到了一个说是可以这样:
    链接在这:http://zhengjunwei2007.blog.163.com/blog/static/352979422012226102426110/
        char c = 'a';
    System.out.println(c.getBytes().lenth());
    但是好像时会报错,我输入c,然后打一个点,都不会自动弹出提示的,到底java中能不能输入类型所占字节数呢?

解决方案 »

  1.   


    你看的那篇文章是错的
    你可以使用下面的方法获取长度://单位为bit
    System.out.println("char:" + Character.SIZE);
    System.out.println("int:" + Integer.SIZE);
    System.out.println("short:" + Short.SIZE);
    System.out.println("long:" + Long.SIZE);
    System.out.println("byte:" + Byte.SIZE);
    System.out.println("float:" + Float.SIZE);
    System.out.println("double:" + Double.SIZE);输出结果为:
    char:16
    int:32
    short:16
    long:64
    byte:8
    float:32
    double:64
      

  2.   

    java中char是一个16位无符号整数。
      

  3.   

    链接里的文章应该是随手写的,不然怎么会犯在char类型的变量上调用String类提供的方法这种低级错误
      

  4.   


    1楼正解,然后如果你想知道一个确认字符占多少个char,就可以用下面的方法来获取。
    Character.charCount();
      

  5.   

    你无法知道char底层究竟占了多少字节,可能是32字节,也可能是64字节,128字节
    java值规定了每个类型的值域,也就是取值范围,char的取值范围用两个字节的补码来表示,最高位不为符号位实际上,在jvm一层,通常是用int来表示byte,short,char,boolean类型的,而int究竟占多少位,jvm规范是没有规定的,爱怎么实现就可以怎么实现,但int的值域必须是4个字节的补码所表示的范围