< meta http-equiv="description" content="int 是原始类型。它不是对象。int是一种高性能(原因是基本类型都分配在栈中?不知道类的成员变量是基本类型呢?),范围介于Integer.MAX_VALUE与Integer.MIN_VALUE之间。占32-bit,内容可变,出给你限制他们fin al. "/>

java基础之基本类型与包装类

[来源] 达内    [编辑] 达内   [时间]2012-11-13

int 是原始类型。它不是对象。int是一种高性能(原因是基本类型都分配在栈中?不知道类的成员变量是基本类型呢?),范围介于Integer.MAX_VALUE与Integer.MIN_VALUE之间。占32-bit,内容可变,出给你限制他们f inal.

  使用java这么多年,虽然也总结了不少,但是有时候遇到一些java很基础问题。对于此,我觉得主要有两个原因,出了自己使用不够熟练之外,每次总结的内容没有好好理下来,到最后每次翻找的时候又的在baidu,google里大海捞针似的寻找答案。感觉有必要把一些java中容易重要或者容易糊涂的地方好好理下来,每次有好的想法就更新上去。

  首先说的就是一些基本类型与包装类型的区别:boolean 与 Boolean,byte 与 Byte,int 与 Integer,char 与 Character, short 与 Short, long 与 Long, float 与 Float, double 与 Double共八对。这里就说说int 与integer的区别吧,其他的类似:

  int 是原始类型。它不是对象。int是一种高性能(原因是基本类型都分配在栈中?不知道类的成员变量是基本类型呢?),范围介于Integer.MAX_VALUE与Integer.MIN_VALUE之间。占32-bit,内容可变,出给你限制他们final.

  Integer是一个对象,它的成员变量value(不好意思,private)代表Integer本身,跟一个int相比,他的体积要大的多。它提供了一些方法包括:int与String的互相转化和对int本身的一些处理(比如转化为其他的基本数据:byteValue(),doubleValue()等)。

  哪一种好呢?取决于你想做什么。

  

 

  再看看他们的转换:

  // to int i from Integer ii

  int i = ii.intValue();

  // to Integer ii from int i

  Integer ii = new Integer( i );

  复制代码

  从java1.5以后,编译器会自动的把Integer转化为int(自需要的情况下)。所以你常常可以把他们两人一样对待。

资源下载