当前位置: > 财经>正文

Java基础基本类型和包装类的区别 信托与保险有什么区别和联系方式呢

2023-08-05 07:20:20 互联网 未知 财经

Java基础基本类型和包装类的区别

前言

Java 一种静态编程语言,所有变量和表达式是在编译时就确定的。同时,Java 又是一种强类型语言,所有的变量和表达式都有具体的类型,并且每种类型是严格定义的。在 Java 中共有8种基本类型数据,同时每种基本类型又有对应的包装类。

基本数据类型(默认值)包装类(默认值)取值范围byte (0)Byte (null)-128~127short (0)Short (null)-32768~32767int (0)Integer (null)-231 ~ 2(31-1)long (0)Long (null)-263 ~ 2(63-1)float (0.0)Float (null)1.4E-45~3.4028235E38double (0.0)Double (null)4.9E-324~1.7976931348623157E308boolean (false)Boolean (null)true或falsechar (为空)Character (null)0~65535 一、包装类型可以为null,而基本类型不可以 包装类型可以应用于POJO中(POJO专指只有setter/getter/toString的简单类,包括DO/DTO/BO/VO 等),而基本类型不行和POJO类似的,还有传输对象DTO(接收前端传参)、视图对象VO(返回给前端的数据)、ENTITY(与数据库表中的字段含义完全对应,表的实体类)为什么POJO的属性必须要用包装类型呢? 《阿里巴巴Java开发手册》这样说明:数据库的查询结果可能是null,如果使用基本类型的话,因为要自动拆箱(将包装类型转为基本类型,比如说把Integer 对象转换成int值),就会抛出 NullPointerException 的异常。案例:下面的代码可以编译通过,但是会抛出空指针异常(java.lang.NullPointerException)。int b = a 实际上是 int b = a.intValue(),由于 a 的引用值为 null ,在空对象上调用方法就会抛出 NullPointerException 异常。 @Test public void a34() { Integer a = null; int b = a; System.out.println(b); } 二、包装类型可用于泛型,而基本类型不可以

        泛型不能使用基本类型,因为使用基本类型时会编译出错。

List list = new ArrayList(); // 提示 Syntax error, insert "Dimensions" to complete ReferenceTypeList list = new ArrayList(); 三、基本类型比包装类型更高效

        基本类型在栈中直接存储的具体数值,而包装类型则存储的是堆中的引用。

        很显然,相比较于基本类型而言,包装类型需要占用

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。