精华内容
下载资源
问答
  • 包装的概念和作用
    2019-11-11 14:55:49

    Java是一门面向对象的语言,对基本类型的处理某些场景需要使用对应的包装类,如collections中的类型变量需要使用包装类,另外为了使用方便Java1.5后增加了基本类型和包装类型之间的自动拆箱和装箱。

    另外包装类中提供了一些类型转换的方法。

    int不存在null值,一经初始化,就被赋予默认值0. 但Integer是存在null值的,只做初始化而不赋值,那它就是个null。

    更多相关内容
  • JAVA中包装类的作用

    万次阅读 多人点赞 2019-04-16 12:04:37
    Java是一个面向对象的编程语言,但是Java中的八种基本数据类型却是不面向对象的,为了使用方便解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八种基本数据类型对应的类统称为包装类...

    一、什么是包装类

    包装类(Wrapper Class): Java是一个面向对象的编程语言,但是Java中的八种基本数据类型却是不面向对象的,为了使用方便和解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八种基本数据类型对应的类统称为包装类(Wrapper Class),包装类均位于java.lang包。

    二、包装类的用途

    为了使用方便Java中将8中基本数据类型进行了封装:除了Integer和Character类以后,其它六个类的类名和基本数据类型一直,只是类名的第一个字母大写即可。

    boolean —> Boolean
    char —> Character
    byte—> Byte
    short—> Short
    long—> Long
    int —> Integer
    float—> Float
    double—> Double
    对于包装类说,用途主要包含两种:
    a、作为 和基本数据类型对应的类 类型存在,方便涉及到对象的操作。
    b、包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。

    三、包装类的实际使用(以int和integer为例)

    1.int和integer类之间的转换
    在实际转换时,使用Integer类的构造方法和Integer类内部的intValue方法实现这些类型之间的相互转换:

            int n=5;
            Integer n1=new Integer(n);
            System.out.println("int类型转换为integer类:"+n1);
            //
            Integer i=new Integer(50);
            int i1 = i.intValue();
            System.out.println("integer类转换为int类型:"+i1);
    

    2、Integer类内部的常用方法
    Integer类的主要方法有:parseInt方法和toString方法。

        //parseInt方法: 数字字符串类型转成int类型
            String ss="123";
            int ii = Integer.parseInt(ss);
            System.out.println("字符类型转成整型:"+ii);
            //toString方法:int类型转成数字字符串类型
            int ii2=123;
            String ss2 = Integer.toString(ii2);
            System.out.println("int类型转成数字字符串类型:"+ss);
    

    JDK自从1.5版本以后,就引入了自动拆装箱的语法,也就是在进行基本数据类型和对应的包装类转换时,系统将自动进行,这将大大方便程序员的代码书写。
    自动装箱:将 基本数据类型 封装为对象类型,来符合java的面向对象的思想。
    自动拆箱:将对象重新转化为基本数据类型。

      //5是基本数据类型,通过自动装箱变成对象类型。
            //编译器执行了Integer iii = Integer.valueOf(5)
            Integer iii=5;
            //自动拆箱,实际上执行了 int iii2 = iii.intValue()
            int iii2=iii;
            System.out.println(iii2);
    

    valueOf()源码分析:

    public static Integer valueOf(int i) {
         assert IntegerCache.high>= 127;
         if (i >= IntegerCache.low&& i <= IntegerCache.high)
         return IntegerCache.cache[i+ (-IntegerCache.low)];
         return new Integer(i); 
    }
    

    说明:Integer iii=5;相当于编译器执行了Integer iii = Integer.valueOf(5)操作。这个方法就是返回一个 Integer 对象,只是在返回之前,看作了一个判断,判断当前 i 的值是否在 [-128,127] 区别,且 IntegerCache 中是否存在此对象,如果存在,则直接返回引用,否则,创建一个新的对象。
    3.包装类的缓存值
    各个包装类缓存值范围

    boolean:true和false 
    byte:-128~127 
    char:0~127 
    short:-128~127 
    int:-128~127 
    long:-128~127 
    

    特别注意:对于float和double没有缓存。
    在对上述值进行装箱的时候(如:Character c1=127;or Integer i= Integer.valueOf(1); 这个不行哦:Integer i2=new Integer(1);因为这是新建了一个对象出来。),并不是创建一个新对象而是使用缓存中的对象,如果超出范围则需要新建立对象。
    四、常见的面试题

    1.Java中Int与Integer的区别?

    一、int 是基本类型,直接存数值;而integer引用数据类型。
    二、Int的声明不需要实例化,且变量声明后的初始值为0;Integer的是一个类,初始值为null,需要进行实例化,才能对变量数据进行处理。
    三、Integer类是int的包装类,实际开发中Integer被看成一个对象,可以进行数据转换等操作。
    

    2.判断下面程序片段输出的结果:

            Integer num1 = 200;   
            Integer num2 = 200;           
            System.out.println("num1==num2: "+(num1==num2));                    
            Integer num3 = 100;   
            Integer num4 = 100;   
            System.out.println("num3==num4: "+(num3==num4)); 
    

    输出结果:num1num2:false 和num3num4:true
    说明:

    首先要明确equal方法与==的区别:

    1. List item equals() 比较的是**两个对象的值(内容)**是否相同。
    2. List item “==” 比较的是**两个对象的引用(内存地址)**是否相同,也用来比较两个基本数据类型的变量值是否相等。

    java定义:在自动装箱时对于值从–128到127之间的值,它们被装箱为Integer对象后,会存在内存中被重用,始终只存在一个对象而如果超过了从–128到127之间的值,被装箱后的Integer对象并不会被重用,即相当于每次装箱时都新建一个 Integer对象;

    感恩作者,写的非常好
    作者:谁是谁的小确幸 来源:CSDN
    原文:https://blog.csdn.net/qq_29119581/article/details/78327759
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • 包装类(基本概念和一些使用方法)

    千次阅读 2020-11-13 09:59:25
    自动装箱:定义变量的形式 Interger tg = 100;—>底层自动装箱 Interger tg =new Integer(100); 拆箱(从包装类对象中获取其所封装的对应类型的数据) 自动拆箱: int sub = tg4 - tg3;//int sub = tg4.intValue...

    包装类

    每个基本数据类型都提供了一个包装类,使用对应的包装类对象,对对应类型的数据进行了封装,又提供相应的方法对其封装的数据可以进行一些操作。
    在这里插入图片描述

    装箱(创建包装类对象并封装对应类型的数据)

    自动装箱:定义变量的形式
    Interger tg = 100;—>底层自动装箱 Interger tg =new Integer(100);

    拆箱(从包装类对象中获取其所封装的对应类型的数据)

    自动拆箱:
    int sub = tg4 - tg3;//int sub = tg4.intValue()-tg3.intValue()

    包装类的常见操作

    1)基本类型数据和数值型字符串的转换
    10---->“10” “10 ---->10
    ①拼接字符串的方式
    syso("""+10");//“10”
    ②String类的静态方法:valueOf()
    syso(String.valueOf(20));//“20”
    ③static String | toString(int i)
    syso("Integer.toString(“30”);//30
    2)数值型字符串转基本类型数据
    static int | parselnt(String s)
    Inter.parseInt(“40”);
    3)进制转换
    将十进制数转成其他进制数的字符串数据
    static String | toBinartString(int i): 转二进制
    static String | toOctalStringString(int i): 转八进制
    static String | toHexStringString(int i): 转十六进制
    static String | toBinartString(int i,int radix): 通用方法

    将其他进制数的字符串数据转成10进制数
    static int | parseInt(String s,int radix)

    Integer类的使用细节

    当Integer对象封装的数据在1byte的取值范围内,多个对象共享同一个对象空间,即就是同一个对象。
    Integer tg1 = 128;
    Integer tg2 = 128;
    tg1 == tg2;//false

    Integer tg1 = 127;
    Integer tg2 = 127;
    tg1 == tg2;//true

    展开全文
  • 基本类型的包装类_Java语言程

    千次阅读 2021-03-17 13:25:09
    基本类型的包装类_Java语言程6.3 基本类型的包装类在Java中,每一种基本数据类型都有一个相应的包装类,这些类都在java.lang包中。8种基本数据类型所对应的包装类是:byte(Byte)、short(Short)、int(Integer)、...

    基本类型的包装类_Java语言程

    6.3 基本类型的包装类

    在Java中,每一种基本数据类型都有一个相应的包装类,这些类都在java.lang包中。8种基本数据类型所对应的包装类是:byte(Byte)、short(Short)、int(Integer)、long(Long)、char (Character)、float(Float)、double(Double)、boolean(Boolean)。

    Java语言用包装类来把一个基本类型数据转换为对象。或者说,一个包装类的实例总是包装着一个相应的基本类型的值。需要注意的是,包装类的实例一旦生成,其所包装的基本类型值是不能改变的。(www.guayunfan.com)

    包装类的作用:(1)在有些情况下,能够被处理的数据类型只能是引用类型,如Java集合中不能存放基本类型数据,如果要存放数字,应该通过包装类将基本类型数据包装起来,从而间接处理基本类型数据。

    (2)每个包装类都包含一组实用方法,其中很多是静态的。这些方法为处理某种基本类型数据提供了丰富的手段。比如Integer类的静态方法parseInt(String s)能将字符串转换为整数,静态方法toBinaryString(int i)返回包含整数i的二进制形式字符串。

    展开全文
  • 在list中的add方法中的参数是需要传入object类型的,而数字是值类型,所以需要包装类。 方便数据之间的转换,比如说string转int,如果是值类型是没办法转的,有了包装类的valueof toInt等方法才能实现互转 将基本...
  • Java为什么需要包装类    java并不是纯面向对象的语言,java语言是一个面向对象的语言,但是java中的基本数据类型却不是面向对象的,但是我们在实际使用中经常将基本数据类型转换成对象,便于操作,比如:数字字符...
  • 1、@RequestParam注解主要用于对请求中的参数进行定义,多用于在请求参数名与方法形参名不一致时的参数间接绑定。在使用时可以指定他的4个属性,具体如下: (1)value:name属性的别名,这里指参数的名字,即入参的...
  • (我国《物流术语》2001年给出定义)物流术语的关键词◇供应链◇客户◇需求信息◇物流功能◇高效率低成本◇正向◇反向(即逆向物流,如:退货;返回加工等)◇有机结合(物流功能间的逻辑关系)物流的六要素1.流体...
  • 该包定义了一个包装功能,用于通过 Python 脚本在 Maya 中创建管理数学节点连接。 易于访问使用它的方法将有助于为需要大量数学处理的基于节点的图形编写可读和可维护的代码。 文档 Nodex 的完整文档: 简要...
  • 包装类拆箱装箱(自动)基本数据类型字符串之间的转换 一.BigInteger类 概念 操作整数  我们都知道4类8种中整数最大的类型是:long  我们以后遇到的数字,有可能会超过long的取值范围,long就接收不了这么大的...
  • Hive的概念作用,优缺点

    千次阅读 2021-05-21 11:13:12
    1.Hive概念概述: 基于Hadoop的开源的数据仓库工具,用于处理海量结构化数据。 Hive把HDFS中结构化的数据映射成表。 Hive通过把HiveSQL进行解析转换,最终生成一系列在hadoop上运行的mapreduce任务,通过执行这些...
  • C++ 包装

    2022-05-06 10:58:48
    C++ 包装器 1 简介 包装器用于给其他编程接口提供更一致...模板function是在头文件functional头文件中声明的,他从参数返回值的角度定义了一个对象,可用于包装调用参数返回值相同的函数指针、伪函数或lambda表达式
  • 面向对象编程包装类常量定义特点包定义目的(作用)声明方式 包装类 8中基本数据类的的包装器类型,如下表所示 基本类型 默认值 boolean Boolean char Character byte Byte short Short int Integer ...
  • 基本包装类型引用类型

    千次阅读 2018-08-23 14:51:43
    基本包装类型引用类型 一、相关概念 1.定义 为了便于操作基本类型值,JavaScript提供了三个特殊的引用类型:Boolean、NumberString。这些类型与其他引用类型相似,但同时也具有与各自基本类型...
  • 一、函数作用域 1.函数作用域 就是作用域在一个“Function”里,属于这...在任意代码片段外部添加包装函数,可以将内部的变量函数定义“隐藏”起来,外部作用域无法访问包装函数内部的任何内容。 例如上面的bar、
  • 包装器简介

    千次阅读 2019-09-14 23:49:24
    包装定义包装器是一个能够将数据从HTML网页中抽取出来,并且将他们还原为结构化的数据的软件程序。 包装器归纳是基于有监督学习的,他从标注好的训练样例集合中学习数据抽取规则,用于从其他相同标记或相同网页...
  • dbproto:IndexedDb包装

    2021-05-01 13:43:29
    dbproto 基本的IndexedDB包装器。在里面var db = new dbproto ( "database_name" , 12 , $q )db . upgradeHook = event => { //onupgrade hook goes here}db . query ( "my_store" ) . then ( r => console . log ( ...
  • @propertyWrapper什么作用 预设场景 实际开发中,我们的默一个属性要求必须为两头去除空格的状态. 这时我们有两种方式实现 1, 重写get方法,每次get时都去除两头空格 2, 重写set方法,每次set时都去除两头空格 (对于...
  • 学习-Java包装类之Long类(3)

    千次阅读 2022-02-14 14:41:59
    本关任务:使用 Long 类的定义与方法,完成 Long 类与基本数据类型的转换。 相关知识 Long 类是基本类型 long 的包装类,它包含若干方法来有效地处理一个长整型值,如将其转换为字符串表示形式,反之亦然。Long 类...
  • 物流企业的核心业务 物流的起点:包装 现代包装包装的物质形态盛装商品时所采取的技术手段工艺操作过程以至装潢形式和包装作用联成一体在我国包装通用术语国家标准(GB4122-83)中对包装明确定义为所谓包装是指...
  • 随机森林不需要遍历特征,每次选的特征就很随机,并非用到所有的特征,所以特征选择作用不大。 思考:过滤法对随机森林无效,却对树模型有效? 解释:传统决策树需遍历所有特征,计算不纯度后分枝.
  • Hystrix的概念作用、使用方法

    千次阅读 2021-07-08 09:31:30
    Hystrix作用 hystrix被设计的目标是: 1.对通过第三方客户端库访问的依赖项(通常是通过网络)的延迟故障进行保护控制。 2.在复杂的分布式系统汇中阻止级联故障。 3.快速失败,快速恢复。 4.回退,尽...
  • 包装设计实训心得体会

    千次阅读 2020-12-23 19:35:49
    包装设计实训心得体会包装设计实训心得体会当我们受到启发,对学习工作生活有了新的看法时,不妨将其写成一篇心得体会,让自己铭记于心,它可以帮助我们了解自己的这段时间的学习、工作生活状态。相信许多人会觉得...
  • 为什么要有包装

    2021-04-07 20:27:54
    1.包装类可以定义泛型参数,而基本数据类型不行,将泛型改为基本数据类型编译器就会报错,因为泛型在编译后会被类型擦除为Object类,而Object类不能存储基本数据类型。( 集合中只能放对象,而基本数据类型不能是...
  • java八种基本数据类型及包装类详解

    万次阅读 多人点赞 2018-12-20 10:14:40
    认可的,是在编译器自动将基本数据类型和包装类相互转换,节省了麻烦。 自动拆箱 包装类——>基本数据类型 (原理是调用了xxxValue方法)  自动装箱   基本数据类型——>包装类  (原理是调用了valueOf方法) ...
  • 基本类型和包装类、基本类型字符串之间的转换

    万次阅读 多人点赞 2018-04-20 23:59:54
    基本类型和包装类之间的转换基本类型和包装类之间经常需要互相转换,以 Integer 为例(其他几个包装类的操作雷同哦):在 JDK1.5 引入自动装箱拆箱的机制后,包装基本类型之间的转换就更加轻松便利了。...
  • 我们都看到了jQuery对象被包装在了很多层函数中为什么我们用函数来定义作用域呢因为JavaScript不能用花括号定义作用域JavaScript变量只有全局作用域函数作用域 举例来说吧为了把下面这个jQuery变量变成私有变量...
  • Java 中的数据类型分为基本类型引用类型两大类,使用基本类型可以提升效率但是java是面向对象的语言,java的设计思想是一切皆对象,而基本数据类型不是对象,于是 Java 为每种基本数据类型都设计了对应的类,称为...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 201,089
精华内容 80,435
热门标签
关键字:

包装的概念和作用