/**
* 自动装箱:
* Integer num1 = 12;
* 自动拆箱:
* System.out.println(num1 + 12);
* 基本数据类型的对象缓存:
* Integer num1 = 12;
* Integer num2 = 12; 这块相等,<=127都是真的
* System.out.println(num1 == num2);
* Integer num3 = 129; 这块不相等,因为是对象
* Integer num4 = 129;
* System.out.println(num3 == num4);
* Integer num5 = Integer.valueOf(12);
* Integer num6 = Integer.valueOf(12) ; 这块的道理同上
* System.out.println(num5 == num6);
* @author partner4java
*
*/
public class HelloWorld1 {
public static void main(String[] args) {
//一个字节以内(享元模式--flyweight)
Integer int1 = 12;
Integer int2 = 12;
System.out.println("int1 == int2:" + (int1 == int2));
//一个字节以外
Integer int3 = 128;
Integer int4 = 128;
System.out.println("int3 == int4:" + (int3 == int4));
Integer int5 = new Integer(12);
Integer int6 = new Integer(12);
System.out.println("int5 == int6:" + (int5 == int6));
Integer int7 = Integer.valueOf(12);
Integer int8 = Integer.valueOf(12);
System.out.println("int7 == int8:" + (int7 == int8));
String str1 = "abc";
String str2 = "abc";
System.out.println("str1 == str2:" + (str1 == str2));
String str3 = new String("abc");
String str4 = new String("abc");
System.out.println("str3 == str4:" + (str3 == str4));
// 后台打印:
// int1 == int2:true
// int3 == int4:false
// int5 == int6:false
// int7 == int8:true
// str1 == str2:true
// str3 == str4:false
}
}
分享到:
相关推荐
- **自动拆箱实现**:当需要将包装类对象转换为基本数据类型时,编译器会调用包装类中的特定方法(如`intValue()`、`doubleValue()`等)来获取基本数据类型的值。 #### 自动装箱和拆箱的应用 自动装箱和拆箱在多个...
在C#编程语言中,装箱与拆箱是两种关键的操作,它们涉及到值类型与引用类型之间的转换。本文将深入探讨这两个概念,以及它们在实际编程中的应用。 首先,我们来理解什么是装箱。装箱(Boxing)是指将值类型(如int...
自动装箱是指将基本数据类型转换为包装器类型,而自动拆箱是指将包装器类型转换为基本数据类型。自动装箱和自动拆箱是相互对应的过程,都是Java编程中数据类型转换的过程。 4. 自动装箱与自动拆箱的应用场景 自动...
在Java编程中,自动装箱(Autoboxing)和自动拆箱(Unboxing)是两个非常核心的概念,它们允许基本数据类型和它们对应的包装类之间无缝转换。这种转换机制在Java 5中引入,极大地简化了代码编写,但同时也带来了一些...
为了深入理解这些知识点,阅读提供的"数据类型_4_值类型、引用类型、装箱和拆箱.pdf"和"数据类型_5_类型转换.pdf"文档将非常有帮助,它们会详细讲解这些主题,并提供实例说明,帮助你巩固理论知识并将其应用到实践中...
在Java编程语言中,自动装箱(Autoboxing)和自动拆箱(Unboxing)是两个重要的特性,它们简化了基本类型(如int、double等)与对应的包装类(如Integer、Double等)之间的转换过程。这些特性是在Java 5引入的,极大...
**自动装箱**指的是将基本数据类型自动转换为对应的包装类对象的过程。例如,将`int`类型转换为`Integer`对象。这一过程在后台由Java编译器完成,无需开发者显式调用`Integer.valueOf()`方法。 **自动拆箱**则是...
装箱是指将基本数据类型(如int、char、boolean等)转换为对应的包装器类对象,而拆箱则是相反的过程,即把包装器类的对象转换回基本数据类型。 在Java中,每个基本数据类型都有一个对应的包装器类,例如: - `...
Java中的自动装箱和拆箱是自J2SE 5.0版本引入的特性,它极大地简化了基本数据类型与其对应的包装类之间的转换过程。基本数据类型包括int、double、boolean等,而包装类如Integer、Double和Boolean分别对应这些基本...
拆箱与装箱相反,指的是将包装类对象转换回基本数据类型的过程。同样地,在Java SE 5.0及以后版本中,也支持自动拆箱的功能。 **示例代码**: ```java Integer i = 10; int j = i; // 自动拆箱 ``` 这段代码中,...
Java中自动装箱和拆箱是Java语言中一个重要的特性,它可以将基本数据类型和它们的包装类之间进行转换,这个过程是透明的,程序员不需要手动进行转换。但是,这个过程会引起一些耗时问题,本文将详细介绍Java中自动...
在Java中,自动装箱是指将基本数据类型自动转换为对应的包装类对象的过程,而自动拆箱则是指将包装类对象自动转换为基本数据类型的逆过程。这一特性自Java 5起引入,极大地简化了开发者的编程工作。 #### 基本数据...
- **自动装箱**:基本类型自动转换为对应的包装类对象。 - **自动拆箱**:包装类对象自动转换为基本类型。 在 Java 5 中引入了自动装箱与拆箱的功能,使得开发者在使用基本类型和它们对应的包装类之间更加灵活。 *...
Java中的装箱与拆箱是面向对象编程中一个重要的概念,尤其在处理基本类型与对象类型之间的转换时显得尤为重要。...在编写代码时,根据具体需求选择合适的数据类型,合理利用装箱与拆箱,可以使Java程序更加优雅和高效。
4. **自动装箱与拆箱的注意事项** - 当两个包装类对象使用`==`进行比较时,实际上是在比较它们的内存地址,而不是值。只有当两个对象引用同一实例时,`==`才返回`true`。 - 当基本类型与包装类使用`==`进行比较时...
自动拆箱与自动装箱是Java编译器的功能,它可以自动地将基本类型数据类型转换为包装类,反之亦然。 例如: ```java public static void main(String[] args) { Integer a = 0; for (int i = 0; i ; i++) { a += ...
自动拆箱(Unboxing)则是将包装类对象自动转换为基本数据类型。 常用方法:演示如何使用包装类中的这些常见方法。 null和默认值:包装类可以具有`null`值,表示没有有效的值***。这在需要处理可能不存在的值时非常...
在.NET框架中,C#是一种面向对象的编程语言,它提供了装箱和拆箱的概念来处理值类型与引用类型之间的转换。本压缩包文件“C#源代码-装箱和拆箱.zip”显然包含了关于这一主题的源代码示例,这对于我们深入理解这两种...
无论是自动类型转换、强制类型转换,还是装箱与拆箱,都需要根据实际需求灵活运用,同时注意可能产生的数据精度损失和溢出问题。通过不断的实践和学习,你将能够熟练地运用这些概念来构建复杂而高效的程序。