请教一下Java byte short有存在的必要吗?

看了一下字节码的文章,发现hotspot中byte与short在实际内存存储与运算时都是看做int来进行的。
那这两种数据类型有什么作用呢?直接用int就可以代替了吧?
像String的数组从short变成byte,之前说是为了节省空间,可是这样看也不能达到节省空间的目的啊?
这是为什么呢?
小白求解!

阅读 3.2k
1 个回答

具体可以看这篇:https://xie.infoq.cn/article/... 总结得很好了。

一句话说的话就是byte、short、char 等类型的数据当做局部变量使用时,实际确实占用一个 slot 的大小,即跟 int 一样是 4 字节;但在数组中是可以优化的,byte 数组中每个元素占 1 字节,char、short 数组中每个元素占 2 字节。所以就省空间了。

推荐问题
宣传栏