我想知道与使用if语句先检查null相比,使用try / exception处理null的成本。
提供更多信息。因为在此应用程序中,有> 50%的机会获得空值。如果未输入任何数据,则通常为null。因此,尝试使用null进行计算是很平常的事。
话虽这么说,如果我先使用if语句在计算之前先检查null并且不首先尝试计算是否会提高性能,或者仅抛出异常并对其进行处理会更便宜?
感谢您的任何建议:-)
感谢您提供的深思熟虑的反馈!这是PSEUDOcode示例,用于阐明原始问题:
BigDecimal value1 = null //assume value1 came from DB as null
BigDecimal divisor = new BigDecimal("2.0");
try{
if(value1 != null){ //does this enhance performance?... >50% chance that value1 WILL be null
value1.divide(divisor);
}
}
catch (Exception e){
//process, log etc. the exception
//do this EVERYTIME I get null... or use an if statement
//to capture other exceptions.
}
问题内容: 所以我知道这是一个很普遍的问题,已经找到了解决方案。但是,当我尝试这样做时,它无法正常工作。 我的JTextField为空,并且未启用该按钮。当我在文本字段中写入内容时,该按钮未启用。 因此,我的程序应每秒检查一次此字段是否为空。只要有人在文本字段中写入内容,就应启用该按钮。^^ 问题答案: 为此,您需要在中添加更改侦听器(一个响应文本更改的侦听器),并且在内,您需要根据是否为空将其更
当页面第一次加载时,我需要检查中是否有图像,并加载最后一个图像。 否则,我禁用预览按钮,提醒用户按下新图像按钮,并创建一个空数组来放置图像; 问题是中的
问题内容: 我想知道只有Integer.parseInt(无论如何)都不会失败的情况下才能做些什么。 更具体地说,我有一个jTextArea用户指定值,由换行符分隔。 我想检查每一行,看看是否可以转换为整数。 想出了类似的东西,但是不起作用: 任何帮助表示赞赏。 问题答案:
我想检查DateTime字段是否不是空的\null字符串。如果datetime字段不为空,则我将执行一些操作。 这是我的错误消息: 我能做些什么来检查一个字段是否不是字符串,而是对象?
问题内容: 在Java中,引发 检查 异常(Exception或其子类型- IOException,InterruptedException等)的方法必须声明 throws 语句: 不声明语句的 方法不能 引发检查的异常。 但是在Java中使用安全方法捕获检查的异常仍然合法: 其实没有 有点可笑:编译器知道 e 不是检查的异常,因此可以将其重新抛出。事情甚至有些荒谬,此代码无法编译: 第一个片段是
编译器知道检查的异常不能在安全方法内抛出-所以也许它应该允许只捕获未检查的异常? 回到主要问题--有没有理由以这种方式实现捕获检查异常?这仅仅是设计中的一个缺陷还是我遗漏了一些重要的因素--也许是向后的不兼容性?在此场景中,如果只允许捕获,可能会出现什么问题?实例非常感谢。