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喽),编译不通过; 

国庆前夕,忙得不可开交,简单言语,在这儿祝大家国庆快乐!!!

02-14 03:35