Java为什么要有基本数据类型和包装类型
Posted amcomputer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java为什么要有基本数据类型和包装类型相关的知识,希望对你有一定的参考价值。
作为面向对象语言为代表的Java, 在很多任务场景中经常看到它的身影。那么,Java为什么要有基本数据类型和包装类型? 这个问题看似简单,其实也不好回答。毕竟这个问题不仅你我感觉到困惑,许多大佬也感觉到困惑,一些人希望把基本数据类型剔除,一些人希望继续保留。
一 简单回顾
基本数据类型(8):byte,short,int,long, float, double,boolean,char
对应的包装类型,Byte,Short, Integer,Float,Double, Boolean, Charecter
byte:8位,最大存储数据量是255,存放的数据范围是-128~127之间。
short:16位,最大数据存储量是65536,数据范围是-32768~32767之间。
int:32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。
long:64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。
float:32位,数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。
double:64位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。
boolean:只有true和false两个取值。
char:16位,存储Unicode码,用单引号赋值。
二 一些见解汇总
反对者:由于Java的基本数据类型的使用,在一定程度破坏了面向对象过程。基本数据类型就想一颗耗子屎破坏了Java的面向对象思想。这个角度很好理解,因为基本数据类型应用场景一般是以数值计算为主,即经常用来面向过程的一些开发或者设计。所以基本数据类型就破坏了面向对象为核心的Java体系。
笔者比较赞同支持者,这里写主要2点。
支持者: 一切软件设计或者分析都要以性能的角度来考虑。留下基本数据类型的原因是它们能够带来系统性能的提高。可以从上述表格进行理解,对应基本数据类型int,占8个字节。而对于Interger类所创建的对象则需要int基本数据类型资源的3倍,因为创建管理的需要8个字节,创建出真正的对象也需要8个字节,另外创建引用也需要8个字节。同时,基本数据类型不需要垃圾回收,而对象还需要额外的系统资源来回收对象垃圾。 在另一方面,Java应用也有一些以数值计算为主的使用场景,如果剔除掉基本数据类型,可能会带来很多不方便。
故至今为止,我们还能看到Java的基本数据类型和包装类型一直都在Java.lang包中,笔者相信,在未来的时间里,基本数据类型也会一直在。
以上是关于Java为什么要有基本数据类型和包装类型的主要内容,如果未能解决你的问题,请参考以下文章