美文网首页
包装类型和基本类型的差别(由方法返回值想到的问题)

包装类型和基本类型的差别(由方法返回值想到的问题)

作者: 早点起床晒太阳 | 来源:发表于2020-09-01 20:00 被阅读0次

    参考资料:
    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值,则必然要用封装类,否则值类型就可以了

    相关文章

      网友评论

          本文标题:包装类型和基本类型的差别(由方法返回值想到的问题)

          本文链接:https://www.haomeiwen.com/subject/piqbsktx.html