java 泛型函数需要返回Integer 我返回null 为啥报空指针异常

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 泛型函数需要返回Integer 我返回null 为啥报空指针异常相关的知识,希望对你有一定的参考价值。

java 泛型函数需要返回Integer 我返回null 为什么报空指针异常

Integer 和 int 有一个 autoboxing的特性
我猜测是 因为你返回了 null。 而用到你这个返回值的时候 编译器会自动 转换成int。结果就报了空指针异常。可以看看 Integer的 源代码。 里面应该有涉及到 autoboxing 转换的方法。
参考技术A 代码发上来,
还有如果是报NullPointerException异常,那就说明你的某个方法中写明了if (... == null) throw new NullPointerException();。

还有我不同意Zoujy1022的说法,因为如果泛型Integer是null的话,转换成int应该默认为0,而不会报错。
参考技术B Integer默认为0,要返回是Integer类型的,你返回null就和声明一个变量初始化值给null重复了,。望采纳本回答被提问者采纳 参考技术C 这个肯定错啊,,Integer初始化的默认值是0,要返回类型死Integer类型的,你返回null就和声明一个变量初始化值给null一样的性质了, 参考技术D 问题描述不清,别人无法回答,描述问题的方式是:先说概要现象,然后给出发生问题的代码,然后详细描述发生问题的过程,给出异常的详细信息!

以上是关于java 泛型函数需要返回Integer 我返回null 为啥报空指针异常的主要内容,如果未能解决你的问题,请参考以下文章

android AsyncTask 怎么返回值给UI线程

android AsyncTask 怎么返回值给UI线程

请教关于java的泛型方法

请教关于java的泛型方法

Java重要技术(19)泛型之泛型的使用方法

c++如何用泛型控制返回值