Java中包装类型与基本类型的区别是什么

  介绍

这篇文章运用简单易懂的例子给大家介绍Java中包装类型与基本类型的区别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

<强>包装类型可以为null,而基本类型不可以

别小看这一点区别,它使得包装类型可以应用于POJO中,而基本类型则不行。

POJO是什么呢?这里稍微说明一下。

POJO的英文全称是普通普通的Java对象,翻译一下就是,简单无规则的Java对象,只有属性字段以及setter和getter方法,示例如下。

类作家
  私人整数年龄;
  私人字符串名称;
  
  公共整数getAge () {
  返回年龄;
  }
  
  公共空间setAge(整数年龄){
  这一点。年龄=年龄;
  }
  
  公共字符串getName () {
  返回名称;
  }
  
  公共空间setName(字符串名称){
  this.name=名称;
  }
  }

和POJO类似的,还有数据传输对象DTO(数据传输对象,泛指用于展示层与服务层之间的数据传输对象),视图对象VO(视图对象,把某个页面的数据封装起来),持久化对象阿宝(持久性对象,可以看成是与数据库中的表映射的Java对象)。

那为什么POJO的属性必须要用包装类型呢?数据库的查询结果可能是null,如果使用基本类型的话,因为要自动拆箱(将包装类型转为基本类型,比如说把整数对象转换成int值),就会抛出NullPointerException的异常。

<强>包装类型可用于泛型,而基本类型不可以

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

List,列表=new ArrayList<的在();//提示语法错误,插入“Dimensions"完成ReferenceType   List,列表=new ArrayList<的在();

为什么呢?因为泛型在编译时会进行类型擦除,最后只保留原始类型,而原始类型只能是对象类及其子类——基本类型是个特例。

<>强基本类型比包装类型更高效

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

癑ava中包装类型与基本类型的区别是什么"

很显然,相比较于基本类型而言,包装类型需要占用更多的内存空间。假如没有基本类型的话,对于数值这类经常使用到的数据来说,每次都要通过新的一个包装类型就显得非常笨重。

<强>两个包装类型的值可以相同,但却不相等

两个包装类型的值可以相同,但却不相等——这句话怎么理解呢?来看一段代码就明明白白了。

整数chenmo=new整数(10);
  整数如一=new整数(10);
  
  system . out。println (chenmo==如一);//错误
  System.out.println (chenmo。=(如一));//真正的

两个包装类型在使用”“进行判断的时候,判断的是其指向的地址是否相等.chenmo和如一两个变量使用了新关键字,导致它们在"的时候输出了错误的。

而chenmo.equals(如一)的输出结果为真,是因为=方法内部比较的是两个int值是否相等。源码如下。

私人最终int值;
  
  公共int intValue () {
  返回值;
  }
  公共布尔=(对象obj) {
  如果(obj instanceof整数){
  返回值=https://www.yisu.com/zixun/=((整数)obj) .intValue ();
  }
  返回错误;
  }

虽然chenmo和如一的值都是10,但他们并不相等。换句话说就是:将“==辈僮鞣τ糜诎袄嘈捅冉系氖焙?其结果很可能会和预期的不符。

关于Java中包装类型与基本类型的区别是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

Java中包装类型与基本类型的区别是什么