奔腾的野马
2016-04-01 13:35
采纳率: 100%
浏览 2.2k
已采纳

Java泛型问题,空指针问题

程序如下:public class GenericsDemo11{
public static void main(String []agrs){
Info i1=new Info();

if(i1!=null){
        System.out.println("不为null");
    }
    fun(i1);
}
public static void fun(Info<? super String> info){
    System.out.println(info);
}

}
程序调用fun方法时出现空指针,为什么?i1不是已经分配了堆内存吗,为什么结果会出现空指针错误?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • threenewbee 2016-04-01 14:16
    已采纳

    Info不是string的派生类,所以调用fun的时候强制转换失败,info为null

    打赏 评论
  • threenewbee 2016-04-01 14:17

    晕,看错了,csdn的代码混乱,你的泛型参数都没有显示出来。请你贴出Info类的实现看下。

    打赏 评论
  • 听风暖 2016-04-05 06:08

    Info不是string的派生类, 注意哦

    打赏 评论

相关推荐 更多相似问题