日期:2014-05-20  浏览次数:20791 次

java中char所占的字节数
    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中能不能输入类型所占字节数呢?

------解决方案--------------------
引用:
C中有sizeof关键字可以计算某种数据类型所占的字节数,但是java中却没有,那么java中如何怎么得到char类型所占的字节数呢(char中在java中是占两个字节,但是如果事先不知道呢,有没有什么办法得出char在java中所占的字节数)
    我在网上搜到了一个说是可以这样:
    链接在这:http://zhengjunwei2007.blog.163.com/blog/……


你看的那篇文章是错的
你可以使用下面的方法获取长度:

//单位为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
------解决方案--------------------
java中char是一个16位无符号整数。

------解决方案--------------------
引用:
引用:C中有sizeof关键字可以计算某种数据类型所占的字节数,但是java中却没有,那么java中如何怎么得到char类型所占的字节数呢(char中在java中是占两个字节,但是如果事先不知道呢,有没有什么办法得出char在java中所占的字节数)
    我在网上搜到了一个说是可以这样:
    链接在这:http://zhengj……


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


Character.charCount();

------解决方案--------------------
引用:
你无法知道char底层究竟占了多少字节,可能是32字节,也可能是64字节,128字节
java值规定了每个类型的值域,也就是取值范围,char的取值范围用两个字节的补码来表示,最高位不为符号位

实际上,在jvm一层,通常是用int来表示byte,short,char,boolean类型的,而int究竟占多少位,jvm规范是没有规定的,爱怎么实现就可以怎么实现,但i……



更正:“可能是32字节,也可能是64字节,128字节”->"可能是32位,也可能是64位,128位……"