Java int和Integer都用于存储整数类型的数据,两者之间的主要区别是int的类型是基本类型,而Integer是类的类型。当在开发过程中将OOP的概念引入画面时,这种区别就变得很重要,因为int遵循以下原则:原始数据类型,而Integer充当包装器类。
以下是int和Integer之间的重要区别。
| 序号 | 键 | 整型 | 整数 |
|---|---|---|---|
| 1 | 类型 | int是一种数据类型,存储32位带符号的二进制补码整数。 | 另一方面,Integer是一个包装器类,它将原始类型int包装到一个对象中。 |
| 2 | 目的 | int有助于将整数值存储到内存中。 | 整数有助于根据需要将int转换为对象,并将对象转换为int。 |
| 3 | 灵活性 | 与Integer相比,int提供的灵活性较小,因为int只允许整数的二进制值。 | 另一方面,整数在存储和处理int数据方面更加灵活。由于Wrapper类继承了Object类,因此可以在具有Object引用或泛型的集合中使用它们。 |
| 4 | 内存分配 | 如前 ,int是原始数据类型,需要32位(4字节)来存储。 | 另一方面,Integer是一个需要128位(16个字节)来存储其int值的对象。 |
| 5 | 铸件 | 在Java一个canâTM吨分配字符串值直接或甚至(含有的整数只)为int变量通过转换。 | 在使用Integer的情况下,我们可以使用Integer(String)构造函数将字符串分配给Integer类型的对象,甚至使用parseInt(String)将String文字转换为int值。 |
| 6 | 直接转换为其他基数。 | 在int的情况下,我们无法将其整数值转换为其他基数。 | 然而,在整数我们可以直接的整数值使用转换成其他碱,例如二进制,八进制或十六进制格式toBinaryString(),toOctalString()或toHexString()分别。 |
| 7 | 允许的操作 | int不允许任何内置函数更改其值或语法。 | 然而,在整数我们可以反向号码或旋转它向左或向右reverse(),rotateLeft()并rotateRight()分别。 |
JavaTester.java
public class JavaTester {
public static void main(String args[]){
Integer a = new Integer("456");
//无法投放
// int a = (int)"456";
//无法投放
// int c="456";
//使用方法可以转换
//来自Integer Wrapper类
int b = Integer.parseInt("456");
System.out.print(b);
}
}输出结果
456