【发布时间】:2015-02-18 05:38:06
【问题描述】:
我在考虑如何改进我的程序的一部分,但我想知道这种情况是否有“灵丹妙药”。有没有什么策略可以避免像这样大的if OR statements?:
public boolean containsCharOfWord() {
if (this.name.contains("b") || this.name.contains("a")
|| this.name.contains("c") || this.name.contains("t")
|| this.name.contains("e") || this.name.contains("r")
|| this.name.contains("i") || this.name.contains("a")) {
return true;
}
return false;
}
谢谢大家!
【问题讨论】:
-
通用替换,或者专门用于多个
String.contains()? -
并用这些 char 值制作常量。
-
对于具体情况,很明显:正则表达式。
name.matches(".*[abceirt].*"). -
既然您要检查两次
name是否包含a,您确定这是您想要的并且您不是在寻找return name.contains("bacteria");?
标签: java performance design-patterns syntax