起航学习网

- 让每个人都能学到最前沿新知识、新技能!
起航学习网
当前位置: 起航学习网 > 短期培训 > 编程语言 > Java包装类详解

Java包装类详解

时间:2022-06-08 14:16:40来源:IT培训网 作者:Java学习网 已有: 名学员访问该课程

  快捷搜索:java包装类

前言: Java包装类是什么?IT培训网小编来告诉大家。Wrapper 类是其对象包装或包含原始数据类型的类。当我们为包装类创建

Java包装类是什么?IT培训网小编来告诉大家。Wrapper 类是其对象包装或包含原始数据类型的类。当我们为包装类创建一个对象时,它包含一个字段,在这个字段中,我们可以存储原始数据类型。换句话说,我们可以将原始值包装到包装类对象中。

1.它们将原始数据类型转换为对象。如果我们希望修改传递给方法的参数(因为原始类型是按值传递的),则需要对象。

2.java.util 包中的类只处理对象,因此包装类在这种情况下也有帮助。

3.Collection 框架中的数据结构,例如ArrayList和Vector,只存储对象(引用类型)而不是原始类型。

4.需要一个对象来支持多线程中的同步。

自动装箱:将原始类型自动转换为其相应包装类的对象称为自动装箱。例如 – 将 int 转换为 Integer,将 long 转换为 Long,将 double 转换为 Double 等。

示例:

// Java program to demonstrate Autoboxing
import java.util.ArrayList;
class Autoboxing
{
	public static void main(String[] args)
	{
		char ch = 'a';
		// Autoboxing- primitive to Character object conversion
		Character a = ch;
		ArrayList<Integer> arrayList = new ArrayList<Integer>();
		// Autoboxing because ArrayList stores only objects
		arrayList.add(25);
		// printing the values from object
		System.out.println(arrayList.get(0));
	}
}

输出:

25

拆箱:这只是自动装箱的逆过程。将包装类的对象自动转换为其相应的原始类型称为拆箱。例如 – 将 Integer 转换为 int、Long 转换为 long、Double 转换为 double 等。

// Java program to demonstrate Unboxing
import java.util.ArrayList;
class Unboxing
{
	public static void main(String[] args)
	{
		Character ch = 'a';
		// unboxing - Character object to primitive conversion
		char a = ch;
		ArrayList<Integer> arrayList = new ArrayList<Integer>();
		arrayList.add(24);
		// unboxing because get method returns an Integer object
		int num = arrayList.get(0);
		// printing the values from primitive data types
		System.out.println(num);
	}
}

输出:

24

执行

// Java program to demonstrate Wrapping and UnWrapping
// in Java Classes
class WrappingUnwrapping
{
	public static void main(String args[])
	{
		// byte data type
		byte a = 1;
		// wrapping around Byte object
		Byte byteobj = new Byte(a);
		// int data type
		int b = 10;
		//wrapping around Integer object
		Integer intobj = new Integer(b);
		// float data type
		float c = 18.6f;
		// wrapping around Float object
		Float floatobj = new Float(c);
		// double data type
		double d = 250.5;
		// Wrapping around Double object
		Double doubleobj = new Double(d);
		// char data type
		char e='a';
		// wrapping around Character object
		Character charobj=e;
		// printing the values from objects
		System.out.println("Values of Wrapper objects (printing as objects)");
		System.out.println("Byte object byteobj: " + byteobj);
		System.out.println("Integer object intobj: " + intobj);
		System.out.println("Float object floatobj: " + floatobj);
		System.out.println("Double object doubleobj: " + doubleobj);
		System.out.println("Character object charobj: " + charobj);
		// objects to data types (retrieving data types from objects)
		// unwrapping objects to primitive data types
		byte bv = byteobj;
		int iv = intobj;
		float fv = floatobj;
		double dv = doubleobj;
		char cv = charobj;
		// printing the values from data types
		System.out.println("Unwrapped values (printing as data types)");
		System.out.println("byte value, bv: " + bv);
		System.out.println("int value, iv: " + iv);
		System.out.println("float value, fv: " + fv);
		System.out.println("double value, dv: " + dv);
		System.out.println("char value, cv: " + cv);
	}
}

输出:

Wrapper 对象的值(作为对象打印)
字节对象 byteobj: 1
整数对象 intobj:10
浮动对象 floatobj:18.6
双对象doubleobj:250.5
字符对象 charobj: a
展开的值(作为数据类型打印)
字节值,bv:1
整数值,iv:10
浮点值,fv:18.6
双倍值,dv:250.5
字符值,cv:a

 

文章出自:http://qh.itpxw.cn/peixun/software/2022121558.html

文章标题:Java包装类详解



免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉

你也许会喜欢如下的文章?
(责任编辑:深圳学历教育网)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
培训学校
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员 用户级别:10 机构名称:IT培训网 联 系 人:罗老师 联系电话:13783581536 联系手机:13783581536 在线客服:起航学习网客服 在 线 QQ:起航学习网客服 电子邮件: 网站域名:http://www.itpxw.cn 注册时间:2016-07-18 11:07 最后登录:2024-02-20 13:02
推荐内容