【发布时间】:2022-11-24 17:11:47
【问题描述】:
首先,我想描述一下,有五千多条记录。请让我从以下方面了解最佳性能的最佳方法:
String hmVALUE = "";
try
{
hmVALUE = hashmapRECORDS.get(key).toString();
}
catch(Exception ex)
{
hmVALUE = "";
}
// Second method:
String hmVALUE = "";
if(Module.hmQUEUED_REQUESTS.containsKey(key))
{
hmVALUE = hashmapRECORDS.get(key).toString();
}
else
{
hmVALUE = "";
}
我正在使用 try-catch 并想知道哪种方法最好。
【问题讨论】:
-
原则:如果可以绕过异常,则永远不要将异常用于正常控制流(可能存在异常情况,但很少见)。话虽这么说,使用第三种方法:
Object x = hashmapRECORDS.get(key); hmVALUE = x != null ? x.toString() : ""; -
您好,欢迎来到 stack overflow,您能否格式化您的代码以使其更具可读性?
-
if 语句不能替代 try-catch。 if 语句是关于条件选择的,try catch 是异常/错误处理
-
顺便说一句,您的第二种方法将不起作用,因为您在与您尝试从中获取值的地图不同的地图中检查密钥。
-
顺便说一句,这两个代码并不相同 -
hmQUEUED_REQUESTS与hashmapRECORDS有什么关系?
标签: java