zoukankan      html  css  js  c++  java
  • 转:JAVA里面的int类型 和Integer类型,有什么不一样

    JAVA里面的int类型 和Integer类型,有什么不一样

    原文链接:http://blog.csdn.net/wuxinliulei/article/details/11099565

    java.lang.Integer是一个类.对它的操作要通过类的方法   
      int是JAVA缺省的8中基本数据类型之一.不是类的对象.
    int是基本数据类型,Integer是对int进行了封装的一个类。   
      声明为int的变量不需要实例化,声明为Interger的变量需要实例化   
    int是基本类型,Integer是包装类,也就是类。
    Integer   是比int   更高级的   数据类型   为什么java中使用int   而不像vb中那样使用Integer
    int是面向机器底层的数值类型,是Primitive类型的数据类型,而Integer是int的Warpper类,是面向对象的即OOP的对象类型。int   一般只用在数值计算中,而Integer是用在Java的其它要使用对象的地方,比如Map的Key与Value,List与Set的Element若要保存数值信息都要把int包装成Integer对象使用。
    Java   提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。   
      原始类型           封装类   
      boolean             Boolean   
      char                   Character   
      byte                   Byte   
      short                 Short   
      int                     Integer   
      long                   Long   
      float                 Float   
      double               Double   
    引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为   null,而原始类型实例变量的缺省值与它们的类型有关。
    追问:
    那我在赋值的时候,能把一个int类型的变量赋值给Integer类型的变量么?反过来 把Integer类型的变量赋值给int类型的变量也行么??
    回答:

    可以的在JDK1.5(包含)以上版本,对int和Integer,double和Double等等实现了自动拆箱装箱。

    Integer是一个对象,int是一种数据类型,Integer对象里封装了一些方法。int是值类型。等楼主学到OOP后就会有所体会 

    int 是基本数据类型
    Integer是其包装类,注意是一个类。
    为什么要提供包装类呢???
    一是为了在各种类型间转化,通过各种方法的调用。否则 你无法直接通过变量转化。
    比如,现在int要转为String
    一般小写字母开头的是数据类型(如int double),大写字母开头的一般是封装为类(如Double),里面有很多方法,比如实行转换Integer.parseInt(arg0),可以把其他类型的数据转换为int

    int a=0;String result=Integer.toString(a);在java中包装类,比较多的用途是用在于各种数据类型的转化中。我写几个demo

    //通过包装类来实现转化的int num=Integer.valueOf(“12”);int num2=Integer.parseInt(“12”);double num3=Double.valueOf(“12.2”);double num4=Double.parseDouble(“12.2”);//其他的类似。

    通过基本数据类型的包装来的valueOf和parseXX来实现String转为XXString a=String.valueOf(“1234”);//这里括号中几乎可以是任何类型String b=String.valueOf(true);String c=new Integer(12).toString();//通过包装类的toString()也可以String d=new Double(2.3).toString();再举例下,比如我现在要用泛型List<Integer> nums;这里<>需要类。如果你用int。它会报错的 .

  • 相关阅读:
    牛客编程巅峰赛S1第8场
    【杭电多校4】2020 Multi-University Training Contest 4
    2020牛客暑期多校训练营(第七场)
    DFS【搜索1】
    2020牛客暑期多校训练营(第六场)
    2020牛客暑期多校训练营(第五场)
    大数模板
    分布式前后端分离项目开发步骤
    Linux 查看服务器硬件信息
    写在前面
  • 原文地址:https://www.cnblogs.com/JasonLGJnote/p/7999262.html
Copyright © 2011-2022 走看看