6个关于Java包装类拆箱和装箱的判断题,你能做对几个?

版权声明:本文以学习为主,欢迎转载,但必须在文章页面明显位置给出原文连接。 如果文中有不妥或者错误的地方还望高手的你指出,以免误人子弟。 https://blog.csdn.net/u014116780/article/details/83748450

虽然 Java 语言是典型的面向对象编程语言,但其中的八种基本数据类型并不支持面向对象编程,基本类型的数据不具备“对象”的特性——不携带属性、没有方法可调用。为此,Java为每种基本数据类型分别设计了对应的类,称之为包装类(Wrapper Classes)。

  • 装箱(Boxing):由基本类型向对应的包装类转换,例如:Integer a = 2;
  • 拆箱(Unboxing):由包装类向对应的基本类型转换,例如:int v = a.intValue();

闲言少叙,问题如下:

  1. new Integer(2) == 2 ?
  2. new Integer(2) == new Integer(2) ?
  3. Integer.valueOf(2) == Integer.valueOf(2) ?
  4. Integer.valueOf(1024) == Integer.valueOf(1024) ?
  5. Integer.valueOf(2).intValue() == 2 ?
  6. new Integer(2).equals(new Integer(2)) ?

测试代码:

public class BoxingDemo {
    public static void main(String[] args) {
        System.out.println("new Integer(2) == 2 ?\t" + (new Integer(2) == 2));
        System.out.println("new Integer(2) == new Integer(2) ?\t" + (new Integer(2) == new Integer(2)));
        System.out.println("Integer.valueOf(2) == Integer.valueOf(2) ?\t" + (Integer.valueOf(2) == Integer.valueOf(2)));
        System.out.println("Integer.valueOf(1024) == Integer.valueOf(1024) ?\t"
                + (Integer.valueOf(1024) == Integer.valueOf(1024)));
        System.out.println("Integer.valueOf(2).intValue() == 2 ?\t" + (Integer.valueOf(2).intValue() == 2));
        System.out.println("new Integer(2).equals(new Integer(2)) ?\t" + (new Integer(2).equals(new Integer(2))));

    }
}

运行结果:
在这里插入图片描述
怎么样?你做对了吗?欢迎留言~

猜你喜欢

转载自blog.csdn.net/u014116780/article/details/83748450