zoukankan      html  css  js  c++  java
  • 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 (封装类型)  一般做类型转换的时候用的较

  • 相关阅读:
    MFC CListCtrl 使用介绍
    头文件预编译 .
    WM_CREATE和WM_INITDIALOG
    一步一步学List Control控件的用法(第三步)设置风格 .
    VC定时器的用法:SetTimer和Ontimer .
    GetWindowRect与GetClientRect 的区别 .
    Prebuild Command line(Copy) . vc2008预生成事件和生成后事件的用法
    MFC浅析(7) CWnd类虚函数的调用时机、缺省实现 .
    MFC中VALUE和CONTROL的区别(EDIT控件)
    MFC应用程序中处理消息的顺序
  • 原文地址:https://www.cnblogs.com/wisdo/p/4915774.html
Copyright © 2011-2022 走看看