Java按函数parametr返回null或字符串,不带if
简单的问题,但找不到答案。我有一个函数
private Srting getStrOrNull(String str){
if (str==null) return null;
else{
return "#"+str+"#";//ANY STRING MODIFICATION
}
}
我是否可以修改此函数,使其不使用任何if,switch子句?例如使用hashmap等
我会解释我需要它的原因。我在数据库中有1000行,例如,我用这种方法根据每行的状态来确定图标
private HashMap<Int,String> iconPaths;
public String getIconPathByState(int id){
return iconPaths.get(id)
}
我不使用任何开关和ifs来尽可能快地执行此操作,因为此函数将被调用1000次
# 1 楼答案
这是一种有时可以使用的方法,在这个带有“#”+…”的人工示例中,速度会较慢。。。,但主要想法可能有用:
以下是将输入变量转换为0或1的另一种方法:
# 2 楼答案
代码“#”+str+“#”至少需要 100倍于比较,因此我认为您优化了错误的部分
# 3 楼答案
这是过早的优化。今天的处理器,如i7,每秒执行100000百万条指令。1000条指令在噪音中丢失
如果你真的认为你需要加快速度,不要猜测。量
http://docs.oracle.com/javase/8/docs/technotes/guides/visualvm/index.html