java boolean空_什么时候应该使用Boolean的null值?
问题
Javaboolean允许值为true和false,而布尔允许值为true,false和null。我已经开始将mybooleans转换为Booleans。这可能会导致测试中的崩溃,例如
Boolean set = null;
...
if (set) ...
而考试
if (set != null && set) ...
看似人为,容易出错。
如果有的话,使用具有空值的Booleans是否有用?如果从来没有,那么被包裹物体的主要优点是什么?
更新:有很多有价值的答案,我在自己的答案中总结了一些。我充其量是Java的中间人,所以我试图展示我发现有用的东西。请注意,问题是"错误措辞"(布尔值不能"具有空值"),但我已将其留下以防其他人具有相同的误解
#1 热门回答(230 赞)
使用boolean,而不是Boolean,你可以。这将避免许多NullPointerException并使你的代码更健壮。
例如,Boolean很有用
在集合中存储布尔值(列表, Map 等)
表示可以为空的布尔值(例如,来自数据库中可以为空的布尔列)。在此上下文中,null值可能意味着"我们不知道它是真还是假"。
每次方法需要Object作为参数时,你需要传递一个布尔值。例如,使用反射或MessageFormat.format()等方法时。
#2 热门回答(51 赞)
我几乎从不使用Boolean,因为它的语义模糊不清。基本上你有三态逻辑:真,假或未知。有时在
java boolean空_什么时候应该使用Boolean的null值?相关推荐
- java boolean空_java - 什么时候应该使用Boolean的null值?
java - 什么时候应该使用Boolean的null值? Java boolean允许值Boolean和false,而布尔值允许true,false和null.我已经开始将booleans转换为Bo ...
- java定义boolean命名_阿里规范:为何boolean类型变量命名禁用is开头
java中,对于非boolean类型的参数,getter和setpXMPater方法命名的规范是以get和set开头,如下: private String Success; public String ...
- sql如何处理null值_如何正确处理SQL中的NULL值
sql如何处理null值 前言 (Preface) A friend who has recently started learning SQL asked me about NULL values ...
- mysql两个空值相同吗_你知道mysql中空值和null值的区别吗
前言 最近发现带的小伙伴写sql对于空值的判断方法不正确,导致程序里面的数据产生错误,在此进行一下整理,方便大家以后正确的判断空值.以下带来示例给大家进行讲解. 建表 create table tes ...
- python 如果没有该key值置为空_没有键时Python字典的默认值
from collections import Counter histogram = Counter() ... histogram[n] += 1 对于数字以外的值,请查看collections. ...
- java build path entries 为空_同事的代码简直没法看,我来教你如何更优雅的设计Java异常...
点击上方蓝色字体,选择"设为星标" 回复"666"获取面试宝典 异常处理是程序开发中必不可少操作之一,但如何正确优雅的对异常进行处理确是一门学问,笔者根据自己的 ...
- java 多态判断非空_跳槽涨薪季面试题之java基础(一)
点击上方[全栈开发者社区]→右上角[...]→[设为星标⭐] 为迎接金九银十跳槽涨薪季,小编汇总了java精编版面试题,大概从java基础.java8特性.多线程.spring.springboot. ...
- 如何判断map为空_在Java中如何优雅地判空
来自:李良逸 链接:http://blog.imuxuan.com/archives/86 判空灾难 作为搬砖党的一族们,我们对判空一定再熟悉不过了,不要跟我说你很少进行判空,除非你喜欢 NullPo ...
- Java解决空引用_在java中检查空引用的乐观方法
本问题已经有最佳答案,请猛点这里访问. 任何Java精通/专家都能告诉我,在使用null来避免EDCOX1×0时,检查空引用或对象的乐观方式是什么? 在我的代码中,我有100多个字段,其中大部分是为了 ...
最新文章
- redhat7操作系统安装
- Git:如何从远程源主服务器更新/签出单个文件?
- 谈谈Javascript闭包
- Leetcode389
- php语言指针的初始化定义,指针变量的初始化,C语言指针变量初始化详解
- CentOS7安装Java,java高级面试笔试题
- Mastering The Mix Total Bundle 2021 Mac - 混音插件合集
- Hadoop 快速入门
- 计算机硕士系统毕业论文答辩ppt,计算机硕士论文答辩ppt
- AndroidKK4.4 Power key电量屏幕时button light先亮LCD后亮的卡顿问题分析
- pycharm如何下载库?
- python selenium中析构方法报错sys.meta_path is None, Python is likely shutting down如何解决?
- Mat类型中的CV_8UC3、CV_32FC3以及对应的迭代器模板参数Vec3b,Vec3f的一点自己的理解
- 中国千家主要规划设计勘察单位
- T检验 ANOVA
- canvas之刮刮乐
- 微信小程序学习笔记(三)——两名片小程序实例
- 维京传奇高清5K动态mac壁纸
- 信息学奥赛一本通T1451:棋盘游戏
- 中国联通再次下调国际漫游资费 最高降幅达90.42%
热门文章
- Dijkstra算法与python实现
- matlab计算图像的亮度和对比度
- 程序员如何学习新的技术
- 微软十款免费服务器工具任你挑(附下载)
- 人工智能文本分析(AITextAnalysis)
- “知识屏蔽“是什么?阅读知识屏蔽的书有什么好处?
- 代码发芽网:无需插件支持Blog代码高亮,支持近百种编程语言
- 技术至简-13:一张图看清1G/2G/3G/4G/5G/6G频谱的演进
- 路由器、局域网、广域网了解
- 首届昇腾计算产业峰会成功举办,AITISA与华为联合发布“白皮书”