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中能不能输入类型所占字节数呢?
我在网上搜到了一个说是可以这样:
链接在这:http://zhengjunwei2007.blog.163.com/blog/static/352979422012226102426110/
char c = 'a';
System.out.println(c.getBytes().lenth());
但是好像时会报错,我输入c,然后打一个点,都不会自动弹出提示的,到底java中能不能输入类型所占字节数呢?
你看的那篇文章是错的
你可以使用下面的方法获取长度://单位为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
1楼正解,然后如果你想知道一个确认字符占多少个char,就可以用下面的方法来获取。
Character.charCount();
java值规定了每个类型的值域,也就是取值范围,char的取值范围用两个字节的补码来表示,最高位不为符号位实际上,在jvm一层,通常是用int来表示byte,short,char,boolean类型的,而int究竟占多少位,jvm规范是没有规定的,爱怎么实现就可以怎么实现,但int的值域必须是4个字节的补码所表示的范围