Java 类的装箱和拆箱操作

[java]
package com.jasonote.classStudy;

/**
* Created by Jasonote on 2018/1/14.
* 包装类
* 类的装箱和拆箱操作
* 装箱:将基本数据类型变为包装类的形式
* 拆箱:从包装类取出被包装的数据
* <p>
* 自动装箱(autoboxing)/自动拆箱(unboxing)(JDK1.5之后)
* 什么是自动装箱拆箱
* 一般我们要创建一个类的对象实例的时候,我们会这样:
* <p>
* Class a = new Class(parameter);
* <p>
* 当我们创建一个Integer对象时,却可以这样:
* <p>
* Integer i = 100; (注意:不是 int i = 100; )
* <p>
* 实际上,执行上面那句代码的时候,系统为我们执行了:Integer i = Integer.valueOf(100);
* 此即基本数据类型的自动装箱功能。
* <p>
* 基本数据类型与对象的差别
* 基本数据类型不是对象,也就是使用int、double、boolean等定义的变量、常量。
* 基本数据类型没有可调用的方法。
* eg: int t = 1; t. 后面是没有方法滴。
* Integer t =1; t. 后面就有很多方法可让你调用了。
* <p>
* <p>
* 数据类型的转换
*/
public class Packagingclass {
public static void main(String[] args) {
Integer integer = new Integer(10);//将基本类型进行装箱操作
int tmp = integer.intValue();//将基本类型进行拆箱操作
System.out.println(tmp);

//自动装箱/自动拆箱
Integer obj = 5;//自动装箱
int tmp2 = obj;//自动拆箱
obj++;//包装类进行直接运算
System.out.println(tmp2 * obj);

Integer a = 10;
Integer b = 10;
Integer c = new Integer(10);

System.out.println("a == b: " + (a == b));
System.out.println("a == c: " + (a == c));
System.out.println("a == c: " + (b == c));
System.out.println("a.equals(c): " + a.equals(c));

//在-128~127 之外的数
Integer i1 = 200;
Integer i2 = 200;
System.out.println("i1==i2: " + (i1 == i2));
System.out.println("i1.equals(i2): " + i1.equals(i2));

// 在-128~127 之内的数
Integer i3 = 100;
Integer i4 = 100;
System.out.println("i3==i4: " + (i3 == i4));
System.out.println("i3.equals(i4): " + i3.equals(i4));

// equals() 比较的是两个对象的值(内容)是否相同。
// "==" 比较的是两个对象的引用(内存地址)是否相同,也用来比较两个基本数据类型的变量值是否相等。

/**
* 数据类型的转换
* Integer.parseInt()
* Double.parseDouble()
* Boolean.parseBoolean()
*/
String str = "123a";
// System.out.println(Integer.parseInt(str)* 2);

String str2 = "123";
System.out.println(Double.parseDouble(str2));

//如果被转换的字符串不是true/false,统一认为false
String str3 = "Jasontoe";
System.out.println(Boolean.parseBoolean(str3));

//数据类型转换成字符串
double double1 = 10.07;
//这种转换会产生""垃圾
System.out.println(double1 + "");

//这种不会
System.out.println(String.valueOf(double1));

}
}

[/java]

Jason.wang

When you find your talent can't afford to be ambitious, be quiet and study !

You may also like...