1)针对移动业务,我们接了一个新版launcher业务,简单来说就是一个平台,目的是让各家的cp来展示自己的产品。迎接国庆的到来,各家cp纷纷蹭国庆的热度,我工作也是忙得不亦乐乎,其中一家cp反应,在我们的epg页面跳转一直跳转大厅,不会跳转活动。我接到反馈,首先确认了自己是否配置错误问题,在配置无误的情况下,又跟cp确认需要活动的链接是否有误,在都无问题的情况下,无奈,找到开发,经过我们老大跟 cp开发pk得出结论,我们egp页面传递了一个j_model_name为null,竟然可以传个null,赶紧问了一下度娘,度娘给出答案竟然还是一道经典的面试题,,下面附上代码,(当然公司业务代码就不附上了)
1 public class Test { 2 public static void main(String[] args){ 3 new Test().new A().get(null); 4 5 } 6 7 class A{ 8 public void get(Object o){ 9 System.out.println("object:" + o); 10 } 11 12 public void get(Integer str){ 13 System.out.println("Integer:" + str); 14 } 15 } 16 } 17 问运行结果是什么?
答案:Integer:null
当null作为参数传入时编译器选择哪一个调用呢?首先null表示不确定的对象,即不知道类型和值是什么,一切未知。所以:当把传参类型改成Double,则main中无法确定到底调用哪一个方法(因为null表示不确定对象,so不知道它是Integer or Double喽),编译不通过;
国庆前夕,忙得不可开交,简单言语,在这儿祝大家国庆快乐!!!