精华内容
下载资源
问答
  • java为什么要有包装类

    2020-12-16 16:55:02
    为什么要有包装类? 基本数据类型方便、简单、高效,但泛型不支持、集合元素不支持 不符合面向对象思维 涉及知识点:自动拆箱 自动装箱 (实现了包装类和基本数据类型之间的自动转换) 包装类–>基本数据类型:...

    为什么要有包装类?

    基本数据类型方便、简单、高效,但泛型不支持、集合元素不支持

    不符合面向对象思维

    涉及知识点:自动拆箱 自动装箱
    (实现了包装类和基本数据类型之间的自动转换)
    包装类–>基本数据类型:通过 包装类对象.xxxValue()
    基本数据类型–>包装类:通过valueOf函数

    为什么要自动拆箱,因为一个对象占有的内存空间是普通数据类型的几倍,非常浪费空间,自动拆箱可以很好的节省内存空间。

    展开全文
  • 为什么存在这两种类型呢?我们都知道在Java语言中,new一个对象存储在堆里,我们通过栈中的引用来使用这些对象;但是对于经常用到的一系列类型如int,如果我们用new将其...有了基本类型为什么还要有包装类型呢?我...

    为什么存在这两种类型呢?

    我们都知道在Java语言中,new一个对象存储在堆里,我们通过栈中的引用来使用这些对象;但是对于经常用到的一系列类型如int,如果我们用new将其存储在堆里就不是很有效——特别是简单的小的变量。所以就出现了基本类型,同C++一样,Java采用了相似的做法,对于这些类型不是用new关键字来创建,而是直接将变量的值存储在栈中,因此更加高效。

    有了基本类型为什么还要有包装类型呢?

    我们知道Java是一个面相对象的编程语言,基本类型并不具有对象的性质,为了让基本类型也具有对象的特征,就出现了包装类型(如我们在使用集合类型Collection时就一定要使用包装类型而非基本类型),它相当于将基本类型“包装起来”,使得它具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。

    另外,当需要往ArrayList,HashMap中放东西时,像int,double这种基本类型是放不进去的,因为容器都是装object的,这是就需要这些基本类型的包装器类了。

    二者相互转换:(JDK1.5  之后体提供了自动拆装箱)

    1、int转Integer

    int i = 0;

    2.  Integer ii = new Integer(i);

    Integer转int

    1.  Integer ii = new Integer(0);

    int i = ii.intValue();

    二者的区别:

    1. 声明方式不同:

    基本类型不使用new关键字,而包装类型需要使用new关键字来在堆中分配存储空间;

    2. 存储方式及位置不同:

    基本类型是直接将变量值存储在栈中,而包装类型是将对象放在堆中,然后通过引用来使用;

    3. 初始值不同:

    基本类型的初始值如int为0,boolean为false,而包装类型的初始值为null;

    4. 使用方式不同:

    基本类型直接赋值直接使用就好,而包装类型在集合如Collection、Map时会使用到。

    补充:

    1、int 类型不能赋值为null(默认值为0),包装类型Integer可以为null(默认值为null)

    2、当int中的数值 与 integer 中的数值一致的时候, 使用 “==”  进行比较,结果为true

    3、如果两个都是new的Integer相比较也是相等的

    展开全文
  • 为什么存在这两种类型呢? 在Java中,new的对象存储在堆里,通过栈中的引用来使用这些对象;但是对经常用到的一系列类型如int,如果我们用new将其存储在堆里就不是很有效——特别是简单的小的变量。所以就出现了基本...

    为什么存在这两种类型呢?

    在Java中,new的对象存储在堆里,通过栈中的引用来使用这些对象;但是对经常用到的一系列类型如int,如果我们用new将其存储在堆里就不是很有效——特别是简单的小的变量。所以就出现了基本类型,同C++一样,Java采用了相似的做法,对于这些类型不是用new关键字来创建,而是***直接将变量的值存储在栈中***,因此更加高效。

    有了基本类型为啥还要有包装类型?

    Java是一个面向对象的编程语言,基本类型并不具有对象的性质,为了让基本类型也具有对象的特征,就出现了包装类型(如我们在使用集合类型Collection时就一定要使用包装类型而非基本类型),它相当于将基本类型“包装起来”,使得它具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。

    另外,当需要往ArrayList,HashMap中放东西时,像int,double这种基本类型是放不进去的,因为容器都是装object的,这是就需要这些基本类型的包装器类了。

    二者相互转换:(JDK1.5 之后体提供了自动拆装箱)

    1、int转Integer
       int i = 0;
    2. Integer ii = new Integer(i);
      Integer转int
    3. Integer ii = new Integer(0);
      int i = ii.intValue();

    二者的区别:

    1. 声明方式不同
    基本类型不使用new关键字,而包装类型需要使用new关键字来在堆中分配存储空间;
    2. 存储方式及位置不同
    基本类型是直接将变量值存储在栈中,而包装类型是将对象放在堆中,然后通过引用来使用;
    3. 初始值不同:
    基本类型的初始值如int为0,boolean为false,而包装类型的初始值为null;
    4. 使用方式不同:
    基本类型直接赋值直接使用就好,而包装类型在集合如Collection、Map时会使用到。

    补充:
    1、int 不能赋值为null(默认值为0),包装类型Integer可以为null(默认值为null)
    2、当int中的数值 与 integer 中的数值一致的时候, 使用 “==” 进行比较,结果为true
    3、如果两个都是new的Integer相比较也是相等的

    展开全文
  • 一、为什么有包装类Java 是个面向对象语言,所有的操作都是基于对象。Object 类是 Java 中的对象基础,所有 Java 中的类都有个共同的始祖 Object 类,Object 类可以表示任意类型数据。但 Java 中的一些基础类型...

    包装类

    包装类是对基础类型数据的包装,让基础数据类型“伪装”成类,具有类的特性,可以进行类的方法操作。

    一、为什么有包装类?

    Java 是个面向对象语言,所有的操作都是基于对象。Object 类是 Java 中的对象基础,所有 Java 中的类都有个共同的始祖 Object 类,Object 类可以表示任意类型数据。但 Java 中的一些基础类型数据,并不是对象,没有对象的操作。如何让对象类型与基础联系数据联系起来,这时就需要一个过渡类型数据,称为包装类。如下面这个例子:

    0d0de4413e3cbc969c06ce8b506db4cc.png

    有时我们不可避免的会遇到上面的问题,直接赋值肯定报类型错误了。这时我们就会想到引入另外一个数据当作纽带,这样就可以将 obj 和 i 联系起来。这个第三者通常也是个类,如

    eb0af088420c7d78c14616a9cf960edd.png

    当要把 obj 的值赋给 i 时,操作就变成如下方式:

    28e9922da896d670207c98818d27f031.png

    通过引入一个中间类,就可以将 Object 类型数据和基础类型数据建立了联系。 Java 中的基础类型没有类的操作属性,而 Java 中的操作都是基于对象。很多操作如:ArrayList、HashMap、泛型等都是针对对象的操作,为了让基础类型也具有类的特性于是就引入了包装类。 包装类是对基础类型性的包装,并丰富了基础类型的操作。

    二、包装类种类

    包装类是对基础数据的包装,所以种类也与基础数据类型对应,一共有8种。如下:

    45a11ce7a02884bc2c0b01df5965f36b.png

    除了Integer和Character两个包装类外,其它包装类名称都是基础类型首字母大写。

    三、装箱与拆箱

    包装类是对基础类型数据的包装,包装类是类类型数据。从上文可知将一个基础类型数据转换成包装类类型数据需要2步。以int数据为例:

    b3608e7366f3b566782995f5a790befc.png

    自 JDK 1.5 版本后,Java 引入了自动装箱、拆箱操作。使基础类型数据和包装类类型数据可以直接互通使用,JVM 自动判断并进行装箱、拆箱,省去人为操作。还是以int为例:

    3eab1ebdb52b6d7c4011d035e782f4cf.png自动装箱拆箱

    其它类型数据也是同样的原理。

    f27e5aaf5abfd67839094532c81db831.png

    展开全文
  • Java中基本数据类型与包装类型为什么存在这两种类型呢?我们都知道在Java语言中,new一个对象存储在堆里,我们通过栈中的引用来使用这些对象;但是对于经常用到的一系列类型如int,如果我们用new将其存储在堆里...
  • java中有了基本类型为什么还要有包装类型? 个人总结 包装类的思想并不是简单的让Java基本类型拥有OOP的特性,更深层的用意是——由于Java的底层运行是JVM,而Java虚拟机在运行时分为了五个分区 基础类型保存的位置...
  • 最近文章更新频率慢了,因为最近在准备暑期实习,之前寻思着一边复习一边写文章,两全其美。后来发现一篇读起来比较舒服的文章写出来加上配图得花上四五个小时甚至更多,但这个... 为什么需要包装类Java 中,万物...
  • 那么,Java为什么要定义包装类型呢?或者说什么时候需要用到包装类型呢? 丰富基本类型的操作 Java是面向对象的编程,包装类型可以使基本数据类型了对象的性质,丰富了其操作。 可以添加进集合中 在集合容器...
  • java包装类详细介绍为什么要使用包装类以及相关的作用。简单类型变量与包装类之间的相互转换,java数据类型之间的转换方法介绍。学习java的人都应该知道Java的数据类型三大类,也就是字符型、数值型与布尔型,而数据...
  • 思考:为什么要再提供8中包装类呢? 假设这样一个方法:它的形式参数是Object型 它能接收所有引用数据类型,因为Object类是所有类的父类,不能接受基本数据类型。 如果我想传一个int型数字进去,该怎么解决? 看...
  • 为什么需要包装类Java 中,万物皆对象,所有的操作都要求用对象的形式进行描述。但是 Java 中除了对象(引用类型)还有八大基本类型,它们不是对象。那么,为了把基本类型转换成对象,最简单的做法就是将基本类型...
  • 今天遇到的问题是,Java中已经了int,float,double等这样的基本数据类型,为什么还需要包装类把它们包装成类呢?参考了这个网址后做了一下整理。 Java中基本数据类型与包装类型为什么需要两种类型? 在...
  • Java 中有 8 个基本类型,分别对应的包装类如下 byte -- Byte boolean -- Boolean short -- Short char -- Character ...为什么要有包装类 基本数据类型方便、简单、高效,但泛型不支持、集合元素不...
  • 楼上的老哥都说得挺详细了想补充一个从面向对象和引用联系这个角度的解释,从而回答楼主的问题今日发现:使用强制转换object对象到int对象时,用integer,而不是int那么为什么呢?一般人们会直接说,这是规则,...
  • 直接赋值,把 i当作一个普通变量操作,可以加减乘除等等,但是想向操作对象一样操作它,如让它告诉你自己的取值范围应该用什么方法,让它告诉你将自己转换成特定的进制,或者字符串,该怎么做,当然是对象最清楚了...
  • 为什么需要包装类Java 中,万物皆对象,所有的操作都要求用对象的形式进行描述。但是 Java 中除了对象(引用类型)还有八大基本类型,它们不是对象。那么,为了把基本类型转换成对象,最简单的做法就是将基本...
  • java包装类

    2019-01-22 23:30:41
    java为什么要有包装类?我们都知道java是面向对象的,这就意味着java中的大多数东西都是对象,我们知道java的基本类型变量不是面向对象的,那么java是如何解决的呢?就是通过包装类。   &nbsp...
  • 为什么要有包装类java的面向对象编程思想就是万物皆对象,但是为了提高运行效率对于最基础的类型没有把它们变成对象。 但是有时又需要用到一些对象属性,所以又加上了包装类。 编译器在运行基础类型时会自动装箱...
  • 为什么要包装类java语言是面向对象的,对象封装很多好处,可以把数据和这些数据的方法结合在一起,比如parseInt()专门处理int类型的数据 比如ArrayList集合类只能一类作为它的存储对象,所以必须把基本数据...
  • 楼上的老哥都说得挺详细了想补充一个从面向对象和引用联系这个角度的解释,从而回答楼主的问题今日发现:使用强制转换object对象到int对象时,用integer,而不是int那么为什么呢?一般人们会直接说,这是规则,...
  • 原来,泛型必须是包装类类型,也就是只能代表引用类型,而不能是基本数据类型,也就是不能是原始数据类型,比如 long / int / short / byte / double / float / boolean / char ,这些都是不能被引用了。 噢~...
  • Java包装类

    2021-03-05 20:22:06
    1.2为什么需要包装类 首先,Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,将每个基本数据类型设计一个对应的类进行代表,这种方式增强了Java面向对象的性质。 其次,
  • 1. 为什么需要包装类Java 中,万物皆对象,所有的操作都要求用对象的形式进行描述。但是 Java 中除了对象(引用类型)还有八大基本类型,它们不是对象。那么,为了把基本类型转换成对象,最简单的做法就是将基本...
  • Java 类库中哪些常见的 final , 这些类为什么要用 final 修饰 首先来了解一下 final final 是 java 中的关键字之一,作用是让被修饰后的成员(,方法,变量等)不可变。 下面列举几个 java 类库中常见的 final...
  • 1、为什么要引入包装类public void dosome(Object obj){System.out.println(obj);是不被允许的,因为这里面只能传入一个对象,而不是一个数字,或者是变量。}2、 例如当方法要求输入一个对象,但是我们手里只有基本...
  • 疑问:Java为什么要设计抽象?作用是什么! 答:面向对象程序设计概念中,去继承的主要作用是扩充已有类的功能(继承可以减少代码的重用)。子类可以根据自己的需要选择是否要覆写父类中的方法,所以一个设计...
  • java包装类介绍

    2021-05-06 17:25:47
    1、为什么要有包装类 java是一个面向对象的编程语言,所谓万物皆对象就是用来说java的,但八大基本类型却不算对象,为了改进这个问题,就对八大数据类型进行封装,形成了对应的类,而这些设计的类就统称为包装类 2...
  • Java中的包装类

    千次阅读 多人点赞 2019-04-16 15:34:10
    目录 一、包装类概述 二、包装类的自动装箱、自动拆箱机制 三、包装类中的缓存机制 ...包装类为什么要保留基本数据类型?(包装类的优缺点) 一、包装类概述 Java有8种基本数据类型:整型(byt...
  • Java包装类

    2020-12-26 09:19:35
    Java包装类前言一、为什么要有包装类?二、自动拆装箱总结 前言 public static void main(String[] args) { Integer num1 = 100; Integer num2 = 100; System.out.println(num1 == num2); Integer num3 =...
  • Java自学之路:包装类

    2021-03-03 16:09:27
    1.为什么要有包装类(或封装类) 为了使基本数据类型的变量具有类的特征,引入包装类。 2.基本数据类型与对应的包装类: 3.需要掌握的类型间的转换:(基本数据类型、包装类、String) 简易版: 基本数据类型<—...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 254
精华内容 101
关键字:

java为什么要有包装类

java 订阅