Java Int与Integer的区别

简介: Java Int与Integer的区别

Int与Integer的区别

基本数据类型与包装类型

java提供了 基本数据类型 八种:boolean、char、byte、short、int、long、float、double
也提供了相应的包装类型:包装类型:Boolean、Character、Byte、Short、Integer、Long、Float、Double


那为什么有了基本数据类型类型还需要包装类型:


1.由于java是面向对象语言的,基本类型不是类,不能通过new进行对象实例化,可以说是不是面向对象的思想,无法调用方法。

2.为了让基本数据类型符合面向对象的思想,就出现了包装雷翔,将基本类型包装起来,并且封装了属性和方法,形成了类。便于对对象进行操作。

基本类型与包装类型比较

1.基本类型无法通过new,进行实例化,。而包装类型可以通过new进行实例化

2.包装类型的初始值为null,基本数据类初始值不为null,如int为0
3.包装类型将对象放在堆中,然后通过引用来使用;,基本数据类型一般将变量值存储在栈中。


另外需要注意的是,Java的基本数据类型性不都是存储在栈中。


为了反驳观点" Java的基本数据类型都是存储在栈的 ",我们也可以随便举出一个反例,例如:


int[] array=new int[]{1,2};

由于new了一个对象,所以new int[]{1,2}这个对象时存储在堆中的,也就是说1,2这两个基本数据类型是存储在堆中,


目录
相关文章
|
17天前
|
Java 程序员
Java社招面试题:& 和 && 的区别,HR的套路险些让我翻车!
小米,29岁程序员,分享了一次面试经历,详细解析了Java中&和&&的区别及应用场景,展示了扎实的基础知识和良好的应变能力,最终成功获得Offer。
45 14
|
13天前
|
Java
java中面向过程和面向对象区别?
java中面向过程和面向对象区别?
17 1
|
23天前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
42 8
|
1月前
|
存储 算法 Java
Java零基础-charAt(int index)详解
【10月更文挑战第20天】Java零基础教学篇,手把手实践教学!
56 4
|
1月前
|
Java
Java代码解释++i和i++的五个主要区别
本文介绍了前缀递增(++i)和后缀递增(i++)的区别。两者在独立语句中无差异,但在赋值表达式中,i++ 返回原值,++i 返回新值;在复杂表达式中计算顺序不同;在循环中虽结果相同但使用方式有别。最后通过 `Counter` 类模拟了两者的内部实现原理。
Java代码解释++i和i++的五个主要区别
|
2月前
|
Java
通过Java代码解释成员变量(实例变量)和局部变量的区别
本文通过一个Java示例,详细解释了成员变量(实例变量)和局部变量的区别。成员变量属于类的一部分,每个对象有独立的副本;局部变量则在方法或代码块内部声明,作用范围仅限于此。示例代码展示了如何在类中声明和使用这两种变量。
|
2月前
|
Java
Java代码解释静态代理和动态代理的区别
### 静态代理与动态代理简介 **静态代理**:代理类在编译时已确定,目标对象和代理对象都实现同一接口。代理类包含对目标对象的引用,并在调用方法时添加额外操作。 **动态代理**:利用Java反射机制在运行时生成代理类,更加灵活。通过`Proxy`类和`InvocationHandler`接口实现,无需提前知道接口的具体实现细节。 示例代码展示了两种代理方式的实现,静态代理需要手动创建代理对象,而动态代理通过反射机制自动创建。
|
2月前
|
缓存 算法 Java
Java 中线程和纤程Fiber的区别是什么?
【10月更文挑战第14天】
91 0
JAVA Integer进制的转换
----- 进制之间的转换。 十进制转成十六进制:  Integer.toHexString(int id); 十进制转成八进制  Integer.toOctalString(int id); 十进制转成二进制  Integer.
1189 0
|
3天前
|
安全 Java API
java如何请求接口然后终止某个线程
通过本文的介绍,您应该能够理解如何在Java中请求接口并根据返回结果终止某个线程。合理使用标志位或 `interrupt`方法可以确保线程的安全终止,而处理好网络请求中的各种异常情况,可以提高程序的稳定性和可靠性。
26 6