例如,为什么你可以做:

int n = 9;

而不是:

Integer n = 9;

你可以这样做:

Integer.parseInt("1");

而不是:

int.parseInt("1");

当前回答

在Java中,int是一个基本数据类型,而Integer是一个Helper类,它用于将一种数据类型转换为另一种数据类型。

例如:

         double doubleValue = 156.5d;
         Double doubleObject  = new Double(doubleValue);
         Byte myByteValue = doubleObject.byteValue ();
         String myStringValue = doubleObject.toString();

基本数据类型存储最快的可用内存,而Helper类比较复杂,存储在堆内存中。

参考“David Gassner”Java基本训练。

其他回答

Int是一个基本类型。int类型的变量存储要表示的整数的实际二进制值。int. parseint("1")没有意义,因为int不是一个类,因此没有任何方法。

Integer是一个类,与Java语言中的其他类没有什么不同。Integer类型的变量存储对Integer对象的引用,就像任何其他引用(对象)类型一样。Integer.parseInt("1")是从类Integer调用静态方法parseInt(注意,该方法实际返回int而不是Integer)。

更具体地说,Integer是一个具有单个int类型字段的类。该类用于需要像对待任何其他对象一样对待int的地方,例如泛型类型或需要可空性的情况。

注意,Java中的每个基本类型都有一个等效的包装器类:

字节有字节 短有短 int有整数 长有长 布尔有布尔 char有字符 浮动有浮动 double有double

包装器类继承自Object类,而原语类则不是。所以它可以在集合中使用对象引用或泛型。

从java 5开始,我们就有了自动装箱,并且基本元素和包装类之间的转换是自动完成的。但是要注意,这可能会引入微妙的bug和性能问题;明确转换永远不会有坏处。

int是基本数据类型,而Integer是Java中的引用或包装器类型(类)。

在java 1.5之后,引入了自动装箱和拆箱的概念,你可以像这样初始化int或Integer。

int a= 9
Integer a = 9 // both valid After Java 1.5.

为什么Integer.parseInt (" 1 ");但不是int.parseInt("1");??

Integer是jdk库中定义的类,parseInt()是属于Integer Class的静态方法

所以,Integer.parseInt (" 1 ");在java中是可能的。但是int在java中是基本类型(假设是关键字)。所以,你不能用int调用parseInt()。

Int是表示整数的基本类型。而Integer是一个包装int的对象。Integer对象提供了更多的功能,例如转换为十六进制、字符串等。

你也可以在Integer中使用OOP概念。例如,您可以使用Integer作为泛型(即Collection<Integer>)。

Int是基本类型,不是对象。这意味着没有与之关联的方法。Integer是一个具有方法的对象(例如parseInt)。

在更新的java中,有自动装箱(和解装箱)的功能。这意味着编译器将在需要的地方插入Integer.valueOf(int)或integer.intValue()。这意味着它实际上是可以写的

Integer n = 9;

它被解释为

Integer n = Integer.valueOf(9);

Integer是Java中的包装器类型,而int是基本类型。在Java中,除了基本数据类型之外的所有内容都是作为对象实现的,这意味着Java是一种高质量的纯面向对象编程语言。如果需要,所有的原语类型在Java中也可以作为包装器类型。使用基本类型可以获得一些性能上的好处,因此包装器类型应该只在必要时使用。

在下面的例子中。

Integer n = 9;

常量9被自动装箱(自动装箱和解装箱从java 5开始自动发生)为Integer,因此你可以使用这样的语句和Integer n = new Integer(9)。这实际上是通过语句Integer.valueOf(9).intValue();