基本类型及其包装类型能不能重载
讨论
同事突然在讨论,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");
}
首先编译器是没有报错,执行:
看来,是可以重载,也会优先走对应类型的方法,如果是基本数据类型,就走基本数据类型,包装类型就走包装,
自动拆箱,装箱
注释其中一个方法:
执行结果:
结论
基本类型包装类型是可以重载的,只是个人感觉没人去这么玩…会死人的
世界上所有的不公平都是由于当事人能力不足造成的.