题目:编写一个程序,展示自动包装功能对所有的基本类型和包装器类型都起作用。
public class test { public static void main(String[] args) { boolean b = false; char c = 'x'; byte t = 8; short s = 16; int i = 32; long l = 64; float f = 0.32f; double d = 0.64; Boolean B = b; System.out.println("boolean b = " + b); System.out.println("Boolean B = " + B); Character C = c; System.out.println("char c = " + c); System.out.println("Character C = " + C); Byte T = t; System.out.println("byte t = " + t); System.out.println("Byte T = " + T); Short S = s; System.out.println("short s = " + s); System.out.println("Short S = " + S); Integer I = i; System.out.println("int i = " + i); System.out.println("Integer I = " + I); Long L = l; System.out.println("long l = " + l); System.out.println("Long L = " + L); Float F = f; System.out.println("float f = " + f); System.out.println("Float F = " + F); Double D = d; System.out.println("double d = " + d); System.out.println("Double D = " + D); } }
结果:
boolean b = false Boolean B = false char c = x Character C = x byte t = 8 Byte T = 8 short s = 16 Short S = 16 int i = 32 Integer I = 32 long l = 64 Long L = 64 float f = 0.32 Float F = 0.32 double d = 0.64 Double D = 0.64
结论:把基本类型赋值给对应的包装类型可行,是因为java自动装箱机制的存在。同理,自动拆箱使得反之亦然