精华内容
下载资源
问答
  • 基本数据类型不需要new关键字; 包装类型需要new在堆内存中进行new来分配内存空间4、存储位置不同: 基本数据类型直接将值保存在值栈中; 包装类型是把对象放在堆中,然后通过对象引用来调用他们5、初始值不同: ....

    1、包装类是对象,拥有方法和字段,对象的调用都是通过引用对象的地址;基本类型不是 
    2、包装类型是引用的传递;基本类型是值的传递 
    3、声明方式不同
                    基本数据类型不需要new关键字;
                    包装类型需要new在堆内存中进行new来分配内存空间 
    4、存储位置不同:
                    基本数据类型直接将值保存在值栈中;
                    包装类型是把对象放在堆中,然后通过对象的引用来调用他们 
    5、初始值不同:
                    int的初始值为 0 、 boolean的初始值为false 
                    包装类型的初始值为null 
    6、使用方式不同:
                    基本数据类型直接赋值使用就好;
                    包装类型是在集合如 coolectionMap时使用
     

    展开全文
  • 本人最近找工作,在面试javase基础这里,有很多公司还是喜欢考察基本数据类型和包装类型的使用情况,重点就是考察日常生活中对数据类型的选定还有使用场景做考察,比如问基本数据类型的占几个字节,取值范围多少、...

    简介

    本人最近找工作,在面试javase基础这里,有很多公司还是喜欢考察基本数据类型和包装类型的使用情况,重点就是考察日常生活中对数据类型的选定还有使用场景做考察,比如问基本数据类型的占几个字节,取值范围多少、基本数据类型默认以及数据类型隐式转化等问题。

    基本数据类型

    java是一种强类型语言,所以定义一个变量需要声明变量的数据类型,java一共提供了8种数据类型,其中整数类型有byteshortintlong,以及2种浮点类型:floatdouble,Unicode编码的字符单元类型char,以及表示真假的boolean类型。

    • 整数类型
    类型 存储字节
    byte 1个字节
    short 2个字节
    int 4个字节
    long 8个字节

    需要注意的是如果没有制定类型整数类型默认值类型是int

    • 浮点型
    类型 存储字节
    float 4个字节
    double 8个字节

    默认情况下浮点型默认是double类型,因为double的数值精度是float的两倍。

    • char类型
      char类型表示单个字符,通常用来表示字符常量。
    • boolean类型
      boolean类型有两个值,false和true。

    面试题

    1. int的最大值加1会发送什么结果?
      这个是遇到很有意思的面试题,最开始我回答了一个可能会造成溢出,报错什么的。很遗憾面试官说不对,所以面试后特地写个测试方法看看到底会发送什么?
      在这里插入图片描述
      运行结果是true。
      这大概是我遇到最有意思的面试题了,因为当时对这块最大值溢出这块并不是很熟悉。所以这道题也并没有回答好。

    包装类型

    由于基本数据类型属于局部变量表,也就是存储在方法区上。而在java5后引入了包装对象,即基本数据类型有着对应的包装对象类型。包装对象是不可变的,一旦构造了包装对象,就不能改变包装的值,同时包装类对象还是final修饰的,所以这些包括类没有子类。

    类型 对应包装对象
    int Integer
    long Long
    float Float
    double Double
    short Short
    byte Byte
    char Character
    boolean Boolean

    面试题

    包装类型最常见就是考察Integer的一个位于-128和127的一个缓存,通过源码我们可以清晰看到这一点,
    一个就是int类型到Integer转变其实是调用了Integer.valueOf这个方法。
    在这里插入图片描述
    可以清晰看到当值范围在IntegerCache.low与IntegerCache.high也就是-127到128之前,新建的Integer对象都是从缓存里面取的。

        @Test
        public void testInteger() {
            Integer i = 130;
            Integer j = new Integer(100);
            Integer x = 100;
            Integer z = 130;
            System.out.println((i == z) + "\n" + (x == j));
        }
    

    所以上面输出是false、false。至于为什么要引入包装类,我想应该可以这么理解:java是面向对象的一种语言,将基本类型包装成对象就可以让有对象类的一些操作,虽然包装类对象是不能被继承。(因为被final修饰),但是我们应用对象,正是因为面向对象的几个特征:封装继承多态抽象。这也是面向对象的核心吧。

    展开全文
  • 1.首先基本数据类型转化为包装数据类型是通过底层自动装箱自动拆箱达到 2.包装类型可以为null,而基本数据类型不可以 3.包装类可以用于泛型,而基本数据类型不可以 4.基本数据类型包装类型更高效 ...

    1.首先基本数据类型转化为包装数据类型是通过底层自动装箱和自动拆箱达到的
    2.包装类型可以为null,而基本数据类型不可以
    3.包装类可以用于泛型,而基本数据类型不可以
    4.基本数据类型比包装类型更高效

    展开全文
  • 基本数据类型 定义 Java语言是强类型语言,对于每一种数据都定义了...基本数据类型和包装的区别主要有以下4点: 包装类可以为null,而基本类型不可以 这使得在POJO中只能应用包装类型,而基本类型则不行。 P...

    基本数据类型

    • 定义
      Java语言是强类型语言,对于每一种数据都定义了明确的具体的数据类型,在内存中分配了不同大小的内存空间。

    • 基本数据类型的分类
      Java基本数据类型图
      包装类
      包装类顾名思义就是将基本数据类型的所没有属性和方法包装到类中,实现对象化的交互。
      数据类型对比
      区别
      基本数据类型和包装类的区别主要有以下4点:

    • 包装类可以为null,而基本类型不可以
      这使得在POJO中只能应用包装类型,而基本类型则不行。
      POJO:简单无规则的Java对象,只有属性字段以及setter和getter方法。
      示例:

    class Writer{
    	private Integer age;
    	
    	public Integer getAge(){
    		return age;
    	}
    
    	public void setAge(Integer age){
    		this.age=age;
    	}
    }
    

    只能使用包装类型的原因是:数据库的查询结果可能是null,如果使用基本类型的话,因为要自动拆箱(将包装类型转为基本类型),就会抛出NullPointerException的异常。

    - 包装类型可以用于泛型,而基本类型不可以

    ArrayList<int> list = new ArrayList<>();
     // 提示 Syntax error, insert "Dimensions" to complete ReferenceType
    ArrayList<Integer> list = new ArrayList<>();
    
    • 基本类型比泛型更高效
      基本数据类型的具体数值直接存储在栈中,而包装类型在栈中存储的只是堆中的引用。如下图所示:
      不同数据类型内存结构
      从图中可以看出,相比于基本数据类型,包装类型要占用更多的内存空间。且两个包装类型的值相同,并不代表它们相等。
    Integer a = new Integer(10);
    Integer b = new Integer(10);
    
    System.out.println(a==b);  //false
    System.out.println(a.equals(b));  //true
    

    - 自动装箱和自动拆箱

    把基本类型转换成包装类型的过程叫做装箱。
    反之,把包装类型转换成基本类型的过程叫做拆箱。

    在Java SE5之前,开发人员需要手动进行拆装过程:

    Integer a = new Integer(10);  //手动装箱
    int b = a.intValue();  //手动拆箱
    

    Java SE5 开始提供了自动装箱与自动拆箱的功能:

    Integer a = 10;  //自动装箱
    int b = a;  //自动拆箱
    
    等价于
    =>
    Integer a = Integer.valueOf(10);
    int b = a.intValue();
    

    即,自动装箱通过Integer.valueOf()来完成,而自动拆箱通过Integer.intValue()来完成。

    需要注意的是:当需要进行自动装箱时,如果数字在 -128 至 127 之间时,会直接使用缓存中的对象,而不是重新创建一个对象。

    示例:

    //1.基本类型与包装类型
    int a = 100;
    Integer b = 100;
    System.out.println(a==b);  //true
    
    //2.两个包装类型
    Integer c = 100;
    Integer d = 100;
    System.out.println(c==d);  //true
    
    //3.
    Integer c = 128;
    Integer d = 128;
    System.out.println(c==d);  //false
    
    展开全文
  • 基本数据类型和包装的区别: 1.int初始值0 Integer初始值null 2.包装类中有很多方法。 3.集合框架中不能存放基本数据类型,只能存对象。 什么时候去使用? 在类中,一般使用包装类。 方法中,一般使用基本...
  • 基本数据类型:省空间 速度快 使用方法:基本数据类型能解决就用基本数据类型 解决不了就用包装类解决
  • java中数据类型主要有两种:1、基本的数据类型:long,int,byte,float,double,这些只是基本的数据类型,并不是对象2、对象类型:Long,Integer,Byte,Float,Double以及其他所有java对象对于Intergerint,Integer是...
  • 八大基本数据类型: **四个整数类型:**byte(1个字节,8位)、short(2个...基本数据类型和包装类型的区别: **1、**包装类是对象,有方法和字段,对象的调用是通过引用对象的地址,而基本类型不是。 **2、**包装类型.
  • 作者:沉默王二 ...来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 ava 的每个基本类型都对应...基本类型和包装类型的区别主要有以下 4 点。01、包装类型可以为 null,而基本类型不...
  • 1.基本数据类型和包装的区别 这部分主要是加强对包装类的整体感官
  • 文章目录基本数据类型和包装类指什么装箱以及拆箱自动装箱与拆箱的实现原理(基本数据类型和包装类存储在哪)基本数据类型存储位置包装类型的存储位置、自动装箱与拆箱的实现原理 基本数据类型和包装类指什么 我们先...
  • 基本数据类型和包装数据类型 包装数据类型存在的优势: 1、方便操作基本类型(包装类型能够调用方法) 2、泛型不支持基本类型 3、自动装箱,自动拆箱 包装数据类型和基本数据类型的区别: 声明方式不同: 基本数据...
  • 首先要明白栈内存堆内存的区别,...以long为例long是基本数据类型当没有给该变量赋值时,该变量初始化值为0;在做语句判断的时候就不能用if(i==null){}做判断了,而是要用if(i==0){}Long是包装类当没有给该对象赋值时
  • 1.声明方式不同,基本类型不适用new关键字,而...3.初始值不同,基本类型的初始值如int为0,boolean为false,而包装类型的初始值为null4.使用方式不同,基本类型直接赋值直接使用就好,而包装类型在集合如Collection...
  • 基本数据类型   Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。       包装类型   将基本类型包装成对象,可以让基本类型有对象类一些操作     ...
  • 包装类和基本数据类型之间有什么区别? 1、声明方式不同,基本类型不适用new关键字,而包装类型需要使用new关键字来在堆中分配存储空间; 2、存储方式及位置不同,基本类型是直接将变量值存储在堆栈中,而包装类型是...
  • 1、包装类是对象,拥有方法字段,对象调用都是通过引用对象地址,基本类型不是 2、包装类型是引用传递,基本类型是值传递 3、声明方式不同,基本数据类型不需要new关键字,而包装类型需要new在堆内存中...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,465
精华内容 586
关键字:

基本数据类型和包装类型的区别