Wrapper类是java.lang库中的一个重要类。包装类对象为原始数据类型创建包装器。创建包装类的对象时,会在存储原始数据类型的内存中创建空间。包装类提供了一些用于将对象转换为原始数据以及将原始数据转换为对象的功能,即装箱/拆箱。从对象到原始数据以及原始数据到对象的转换是自动发生的。原始数据类型是指int、float、char、double、byte等
开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
语法:
下面给出的声明显示了 Wrapper 类如何在 java 程序中工作。
示例:
int i = 100;
在下面给出的示例中,我们可以看到 i 是整数数据类型。有时在java中整数需要作为对象类型传递。在这种情况下,我们可以使用包装类将整数转换为对象。
代码:
Integer intVal = new Integer(i);
在上面给出的语法中,我们可以看到如何使用 Integer 类对象将原始数据类型转换为对象。另外,我们可以说原始数据类型被包装为对象。
下面给出了包装类的一些用法:
在JavaAPI的基础上,Wrapper类层次结构将Object保持在不同原始类的顶部。数字、字符和布尔值位于对象之后的第二层。 Byte、Short、Int、Long、Float、Double 属于第三级 Number 数据类型。
包装类使用以下两种机制自动装箱和拆箱,用于数据类型的转换/包装或将对象转换为原始数据类型。
下面是 Java 中包装类的不同示例:
在下面给出的示例中,我们可以看到如何通过包装类从 int i 手动转换为对象 k。
代码:
import java.util.*; class WrapperExample { public static void main(String args[]){ int j=100; //converting int j to integer k as an object Integer k = new Integer(j); System.out.println(j + "\n" + k); } }
输出:
在上面给出的示例中,我们可以看到转换是如何显式进行的。
在下面给出的示例中,我们可以看到此转换过程有时会自动发生,即称为自动装箱。
代码:
import java.util.*; class AutoboxingUnboxingExample { public static void main(String args[]){ int j = 500; ArrayList<Integer> arrValues = new ArrayList(); arrValues.add(j); // autoboxing takes place implicitly System.out.println(arrValues.get(0)); } }
输出:
在上面给出的示例中,int 值作为对象隐式转换为对象。另外,这个值可以从ArrayList中获取。
在这个例子中,我们将完成拆箱的实现。拆箱是自动装箱的逆过程。
代码:
import java.util.*; class AutoboxingUnboxingExample { public static void main(String args[]){ ArrayList<Integer> arrValues = new ArrayList(); arrValues.add(250); //unboxing here as int data type from Integer object int k = arrValues.get(0); //value printed is in primitive data type System.out.println(k); } }
输出:
在上面给出的示例中,ArrayList 对象字段被转换为 k 基本数据类型,即 int k。
The following given example have all the details of Autoboxing & Unboxing.
Code:
import java.util.*; class WrapperConversionExample { public static void main(String args[]){ int i = 15; float j = 9.6f; double k = 120.8; byte l = 1; //creating instance of Integer object Integer iObj = new Integer(i); //creating instance of Float object Float fObj = new Float(j); //creating instance of Double object Double dObj = new Double(k); //creating instance of Double object Byte bObj = new Byte(l); //value printed is in object System.out.println("Value as an Integer object > " + iObj); System.out.println("Value as a Float object > " + fObj); System.out.println("Value as a Double object > " + dObj); System.out.println("Value as a Byte object > " + bObj); //primitive data type from the object int m = iObj; float n = fObj; double o = dObj; byte p = bObj; //value printed is in primitive data type System.out.println("Value as an int primitive type > " + m); System.out.println("Value as a float primitive type > " + n); System.out.println("Value as a double primitive type > "+ o); System.out.println("Value as a byte primitive type > " + p); } }
Output:
In the above-given program, we can see the implementation of Wrapper classes. Wrapper classes are converting the primitive data type to object & object to the primitive data type. The wrapper class provides separate classes for each primitive data type.
Through the Wrapper classes, we can easily understand autoboxing & unboxing how conversion takes place from primitive to object & its vice versa, which can be easily understood through Wrapper classes. For each of the primitive data types, there is a dedicated class in java.
以上是Java 中的包装类的详细内容。更多信息请关注PHP中文网其他相关文章!