A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 汪龙 注册黑马   /  2014-4-9 00:30  /  1065 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 汪龙 于 2014-4-9 10:36 编辑

请问:int 和 Integer 有什么区别?

5 个回复

倒序浏览
int是基本数据类型,Integer是封装类,
楼主还是看完视频再提问吧,视频里面讲解很详细。
回复 使用道具 举报
Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。
原始类型封装类booleanBoolean  charCharacter byteByte  shortShort  intInteger longLong  floatFloat  doubleDouble
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。
如果还有什么不懂,欢迎继续回复。。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报

Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为外覆类或数据类型类。

  

    包装类均位于java.lang包,包装类和基本数据类型的对应关系如下表所示:

  

包装类对应表

  
   

基本数据类型

   

包装类

   

byte

   

Byte

   

boolean

   

Boolean

   

short

   

Short

   

char

   

Character

   

int

   

Integer

   

long

   

Long

   

float

   

Float

   

double

   

Double

  

    在这八个类名中,除了Integer和Character类以后,其它六个类的类名和基本数据类型一直,只是类名的第一个字母大写即可。

  

    对于包装类说,这些类的用途主要包含两种:

  

    a、作为和基本数据类型对应的类类型存在,方便涉及到对象的操作。

  

    b、包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。

  

    由于八个包装类的使用比较类似,下面以最常用的Integer类为例子介绍包装类的实际使用。

  

    1、实现int和Integer类之间的转换

  

    在实际转换时,使用Integer类的构造方法和Integer类内部的intValue方法实现这些类型之间的相互转换,实现的代码如下:

  
   

                   int n = 10;

  

                   Integer in = new Integer(100);

  

                   //将int类型转换为Integer类型

  

                   Integer in1 = new Integer(n);

  

                   //将Integer类型的对象转换为int类型

  

                   int m = in.intValue();

  

    2、Integer类内部的常用方法

  

    在Integer类内部包含了一些和int操作有关的方法,下面介绍一些比较常用的方法:

  

    a、parseInt方法

  

    public static int parseInt(String s)

  

    该方法的作用是将数字字符串转换为int数值。在以后的界面编程中,将字符串转换为对应的int数字是一种比较常见的操作。使用示例如下:

  
   

    String s = “123”;

  

    int n = Integer.parseInt(s);

  

    则int变量n的值是123,该方法实际上实现了字符串和int之间的转换,如果字符串都包含的不是都是数字字符,则程序执行将出现异常。(说明:异常的概念将在下一章进行讲述)

  

    另外一个parseInt方法:

  
    public static int parseInt(String s, int radix)
  

    则实现将字符串按照参数radix指定的进制转换为int,使用示例如下:

  
   

         //将字符串”120”按照十进制转换为int,则结果为120

  

         int n = Integer.parseInt(“120”,10);

  

         //将字符串”12”按照十六进制转换为int,则结果为18

  

         int n = Integer.parseInt(“12”,16);

  

         //将字符串”ff”按照十六进制转换为int,则结果为255

  

         int n = Integer.parseInt(“ff”,16);

  

    这样可以实现更灵活的转换。

  

    b、toString方法

  

    public static String toString(int i)

  

    该方法的作用是将int类型转换为对应的String类型。

  

    使用示例代码如下:

  
   

    int m = 1000;

  

    String s = Integer.toString(m);

  

    则字符串s的值是“1000”。

  

    另外一个toString方法则实现将int值转换为特定进制的字符串:

  
    public static int parseInt(String s, int radix)
  

    使用示例代码如下:

  
   

    int m = 20;

  

    String s = Integer.toString(m);

  

    则字符串s的值是“14”。

  

    其实,JDK自从1.5(5.0)版本以后,就引入了自动拆装箱的语法,也就是在进行基本数据类型和对应的包装类转换时,系统将自动进行,这将大大方便程序员的代码书写。使用示例代码如下:

  
   

    //int类型会自动转换为Integer类型

  

    int m = 12;

  

    Integer in = m;

  

    //Integer类型会自动转换为int类型

  

    int n = in;

  

    所以在实际使用时的类型转换将变得很简单,系统将自动实现对应的转换


评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报 1 0
int 为基本数据类型,

integer 为基本数据类型包装类,

java 1.5之后的新特性,将int自动装箱,自动拆箱,系统会进行自动转换

integer 的功能要比int强大很多,

查看一下int和integer的方法就知道了,看你什么时候需要用哪个?

视频中讲解的也很详细!

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 赞一个!

查看全部评分

回复 使用道具 举报
int 表示数的类型,Integer是把int类型的数作为一个对象,Integer可以看作object,而int就不可以
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马