为什么数据类型需要byte,char和short

时间:2013-06-05 15:28:44

标签: java jvm

我在JVM规范中读到数据类型byte,short和char在内部被视为int。 那么,如果我们没有从小尺寸中获益,为什么要使用这些数据?

3 个答案:

答案 0 :(得分:8)

部分是为了与C / C ++兼容,部分是为了节省内存 - 在内部,短片存储为短片,但处理为整数。 new short[10]占用的内存是new int[10]

的一半

答案 1 :(得分:1)

这是对记忆的影响。每个变量都有一个内存空间。空间的大小取决于您使用的变量类型。

否则,在操作字符串时,类型char非常有用。实际上,您可以使用string.charAt(index)

获得字符串的一个字符

答案 2 :(得分:1)

给出的答案非常好,但我会指出另一种可能的用法。您可以对数据类型进行一些编译时检查。例如,您可以将一个人的年龄(以年为单位)作为一个字节,并且您可以进行编译时检查,以确保存储在int或short中的较大值被用于该字段。