解释 Java 中的包装器类?
java 8object oriented programmingprogramming
Java 在 java.lang 包中提供了某些称为包装器类的类。这些类的对象将原始数据类型包装在其中。以下是原始数据类型及其各自类的列表 −
原始数据类型 | 包装器类 |
---|---|
char | Character |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
以下 Java 示例接受来自用户的各种原始变量并创建它们各自的包装器类。
示例
import java.util.Scanner; public class WrapperClassesExample { public static void main(String args[]){ Scanner sc = new Scanner(System.in); System.out.println("Enter an integer value: "); int i = sc.nextInt(); //整数的包装类 Integer obj1 = new Integer(i); System.out.println("输入一个长整型值:"); long l = sc.nextLong(); //长整型的包装类 Long obj2 = new Long(l); System.out.println("输入一个浮点型值:"); float f = sc.nextFloat(); //浮点数的包装类 Float obj3 = new Float(f); System.out.println("输入一个双精度值:"); double d = sc.nextDouble(); //双精度数的包装类 Double obj4 = new Double(d); System.out.println("输入一个布尔值:"); boolean bool = sc.nextBoolean(); //布尔值的包装类 Boolean obj5 = new Boolean(bool); System.out.println("输入一个字符值:"); char ch = sc.next().toCharArray()[0]; //布尔值的包装类 Character obj6 = new Character(ch); System.out.println("输入一个字节值:"); byte by = sc.nextByte(); //布尔值的包装类 Byte obj7 = new Byte(by); System.out.println("输入一个短值:"); short sh = sc.nextShort(); //布尔值的包装类 Short obj8 = new Short(sh); } }
输出
输入一个整数值: 254 输入一个长整型值: 4444445455454 输入一个浮点型值: 12.324 输入一个双精度型值: 1236.22325 输入一个布尔值: true 输入一个字符型值: c 输入一个字节型值: 125 输入一个短整型值: 14233
以下是包装类的一些要点。
- 在实例化时,这些类直接接受原始数据类型,或以字符串形式接受。
Int i = 20; Integer obj = new Integer(i); 或者, Integer obj = new Integer("20");
- 包装器类提供方法,将其中的原始数据类型转换为 String 对象,并将它们与其他对象进行比较等。
示例
import java.util.Scanner; public class WrapperExample { public static void main(String args[]){ Scanner sc = new Scanner(System.in); System.out.println("输入一个整数值: "); int i = sc.nextInt(); //整数的包装类 Integer obj = new Integer(i); //将 Integer 对象转换为 String String str = obj.toString(); System.out.println(str); } }
输出
输入一个整数值: 124 124
- 使用包装器类,您还可以将原始数据类型添加到各种 Collection 对象,例如 ArrayList、HashMap 等。您还可以使用包装器类通过网络传递原始值。
示例
import java.util.Scanner; public class WrapperExample { public static void main(String args[]){ Scanner sc = new Scanner(System.in); System.out.println("输入一个整数值:"); int i = sc.nextInt(); //整数的包装类 Integer obj = new Integer(i); //将整数对象转换为字符串 String str = obj.toString(); System.out.println(str); //与其他对象进行比较 int result = obj.compareTo(new Integer("124")); if(result==0) { System.out.println("两者相等"); }else{ System.out.println("两者不相等"); } } }
输出
输入一个整数值: 1211 1211 两者不相等