众所周知,
Java是一种面向对象的语言,即严格遵循类和对象的原则,但是Java不是100%OOP语言也确实如此,原因是Java仍然使用原始数据类型,例如int, char,float,long,double等。人们感到有必要将这些原始数据类型转换为类和对象,因此Java引入了一种称为包装器类的概念。
包装器类的对象包装原始数据类型,当我们需要在原始数据类型上使用更多方法时,例如在假设我们要将Non-String Object转换为String类型(使用toString()method)时,这toString()将很方便返回对象的字符串表示形式。同样,我们可以有许多其他示例。
回到Java的Wrapper类,让我们看看Java中可用的Wrapper类。数据类型包装类
intInteger
floatFloat
longLong
byteByte
shortShort
charCharacter
doubleDouble
booleanBoolean
让我们来讨论两个与包装器类相关的概念,它们非常简单:
装箱
原始数据类型到相应对象的转换称为装箱,它由编译器在构造函数的帮助下处理。
示例System.out.println("Enter an Integer:");
int n=KB.nextInt();
Integer I=new Integer(n); //装箱:创建整数对象
System.out.println(I);
输出结果:Input: 8
Output: 8
拆箱
可以将其与装箱相反,当需要将对象转换回相应的原始数据类型时,则称为拆箱。
示例Integer I=new Integer(n);
inti=I; //拆箱:将对象转换为原始类型
System.out.println(i);
输出结果Input: 8
Output: 8
示例import java.util.*;class Wrapper{
public static void main(String args[])
{
Scanner KB=new Scanner(System.in);
//int-Integer
System.out.println("Enter an Integer:");
int n=KB.nextInt();
Integer I=new Integer(n);
System.out.println(I);
//long-Long
System.out.println("Enter a Long Integer:");
long l=KB.nextLong();
Long L=new Long(l);
System.out.println(L);
//float- Float
System.out.println("Enter a Float Value:");
float f=KB.nextFloat();
Float F=new Float(f);
System.out.println(F);
//char-Character
System.out.println("Enter a Character:");
char c=KB.next().charAt(0);
Character C=new Character(c);
System.out.println(C);
//double-Double
System.out.println("Enter a Double:");
Double d=KB.nextDouble();
Double D=new Double(d);
System.out.println(D);
}}
输出结果:Enter an Integer:
8
8
Enter a Long Integer:
1234567898745
1234567898745
Enter a Float Value:
8.8
8.8
Enter a Character:
c
c
Enter a Double:
12.55
12.55