• java 中的原始类型与原始封装类型


    Java   提供两种不同的类型:引用类型和原始类型(或内置类型)。比如:Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类,常见的原始与对应的封装类如下:


      原始类型           封装类  
      boolean             Boolean  
      char                   Character  
      byte                   Byte  
      short                 Short  
      int                     Integer  
      long                   Long  
      float                 Float  
      double               Double  


    引用类型和原始类型的区别:

    1.两者的初始化方式不同

    int i = 5;                       // 原始类型
    Integer j = new Integer(10);     // 对象引用  java 1.5以后支持自动装箱所以   Integer j = 10; 也可以
    

    使用原始类型无须调用 new,也无须创建对象。这节省了时间和空间。混合使用原始类型和对象也可能导致与赋值有关的意外结果。 

    2.原始类型是类,引用类型是对象

    原始类型大小比较用"==" , 引用类型大小比较用"equals"

    3.引用类型可以被序列化,原始类型不行。

    4.引用类型提供的方法可以灵活转换,可以扩展,原始类型不行

    5.在集合类中只能使用引用类型,不能使用原始类型

    6.原始类型没有null的概念,引用类型有,某些情况下需要辨别某个参数是否被初始化了,如果使用原始类型,那么0的值不知道是初始值还是没有初始化系统自动给的。

    7.有些时候必须要用封装类,比如你要用
    request.setAttribute(String key ,Object value);这个方法时,第二个参数为Object类型,而你要放的是一个整数的时候,那就只能放Integer不能放int。

    总结:

     原始类型和封装类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为   null,而原始类型实例变量的缺省值与它们的类型有关。
      int(原始类型)   一般做为数值参数就够了  
      integer (封装类型)  一般做类型转换的时候用的较

  • 相关阅读:
    Unity基础:AR(增强现实)的学习
    Fire Balls 04——平台组合,场景的美化
    Fire Balls 12——UI界面的制作
    Fire Balls 11——修正游戏的BUG
    Unity使用Rider作为IDE的体验
    Unity 5 使用Roslyn编译器支持C# 7
    MySQL 5.5主从复制(Replication)
    使用libcurl的正确姿势
    U盘安装Ubuntu Server 14.04
    arguments介绍(二)
  • 原文地址:https://www.cnblogs.com/wisdo/p/4915774.html
Copyright © 2020-2023  润新知