基本类型及其包装类型能不能重载

讨论

同事突然在讨论,int,Integer能不能重载,说这样设计合理不合理=-=
心态爆炸,思考片刻,感觉可以重载,但还是试了一下…

代码

测试代码:

 @Test
  public void testInt() throws Exception {

    int int1 = 0;
    Integer int2 = 1;
    testInt1(0);
    testInt1(new Integer(0));
    testInt1(int1);
    testInt1(int2);

    char a = 0;
    Character b = new Character(a);
    Character c = new Character('c');
    testChar1(a);
    testChar1(b);
    testChar1(c);

  }

  public void testInt1(Integer i) {
    System.out.println("integer");
  }

  public void testInt1(int i) {
    System.out.println("int");
  }

  public void testChar1(char i) {
    System.out.println("char");
  }

  public void testChar1(Character i) {
    System.out.println("Character");
  }

首先编译器是没有报错,执行:
在这里插入图片描述
看来,是可以重载,也会优先走对应类型的方法,如果是基本数据类型,就走基本数据类型,包装类型就走包装,

自动拆箱,装箱

注释其中一个方法:
在这里插入图片描述
执行结果:
在这里插入图片描述

结论

基本类型包装类型是可以重载的,只是个人感觉没人去这么玩…会死人的

世界上所有的不公平都是由于当事人能力不足造成的.
原文地址:https://www.cnblogs.com/javayida/p/13346754.html