情况:我在代码中遇到了很多检查。而且我想知道一种可以减少它们的方法。
if(needle!=null && haystack!=null)
{
if(needle.length()==0)
return true;
else
{
if(haystack.length()==0)
return false;
else
{
// Do 2 for loops to check character by character comparison in a substring
}
}
}
else
return false;
答案 0 :(得分:5)
也许不同的代码样式会增加代码的可读性,并减少所有检查的嵌套if
语句的数量。:
if (needle == null || haystack == null || haystack.isEmpty())
return false;
if (needle.isEmpty())
return true;
// compare strings here and return result.
答案 1 :(得分:0)
您可以为字符串创建一个包装类,然后向它们添加一个函数,如isValid(),检查长度是否为== 0.使用始终在isValid()上返回false的Null Object来消除空检查。
如果您可以创建告诉您该做什么的类,而不是在整个代码中传递必须为null的字符串,那么您将获得更多可重复使用的结果:
class Haystack {
private static final Haystack NULL_HAYSTACK = new Haystack("");
private final String value;
public Haystack(String value) {
this.value = value;
}
public boolean containsNeedle(String needle) {
return needle != null && value.contains(needle);
}
}
答案 2 :(得分:0)
您可以将该逻辑合并到单个“StringFunctions”类的单个方法中,并在遇到它们时更新用法以使用常用方法。