参考资料:
https://juejin.im/post/6844903955235864590
https://www.zhihu.com/question/290678106
背景
自己写接口返回值返回的Boolean,突然想到一个问题,返回boolean不可以么,他们有什么区别么?跟随着这个问题我们再往大了引申说到包装类型和基本类型上面。
Boolean和boolean哪个更适合当做返回值
只从方法返回值上面讲,看下接口对于返回值的要求。Boolean的包装类型可以为null,boolean只有true和false。所以,当返回值的结果只有true和false的时候,我们就可使用基本类型,即boolean
所以上述案例自己写的接口根据需要boolean也够用了。
总结一下:假如方法的返回值,需要有一个null的可能性,那么可以用包装类形。假如不存在的话,不建议使用包装类型,因为容易给上层调用者引起不必要的麻烦。
扩展
上面说完Boolean和boolean,扩展到包装类型和基本类型的差别。
1、基本类型在栈中直接存储的具体数值,而包装类型则存储的是堆中的引用。
2、泛型中只能使用包装类型,不能使用基本类型
3、什么时候该用包装类,什么时候用基本类型,看基本的业务来定:这个字段允不允许null值,如果允许null值,则必然要用封装类,否则值类型就可以了
网友评论