我是一些编程新手。我需要编写一个if条件来检查25个方法,如果所有方法都返回true,那么只有控制进入if块。java:如何减少if(method1()&& method2().... && method25())?
,所以我试图像
if(meth1()&&meth2()&&meth3()&&meth4() ....... meth25()){
..... .....
}
else {
print("in else");
}
boolean meth1(){
if (valid){
return true;
}
else return false;
}
boolean meth2(){
if (valid){
return true;
}
else return false;
}
...
...
...
boolean meth25(){
if (valid){
return true;
}
else return false;
}
是否有任何其他方式做到这一点?
编辑: IM张贴在这里我的实际代码.....
if(v.isValidRecordType(recordType)&& v.isValidClientReferance(clientReferance)&& v.isValidInitials(initials) && v.isValidPrefixes(prefixes)&& v.isValidLastname(lastname)&& v.isValidGender(gender)&& v.isValidDateOfBirth(dateOfBirth)
&& v.isValidStreetName(streetName)&& v.isValidHouseNumber(houseNumber)&& v.isValidHNExtension(hnExtension)&& v.isValidPostalCode(postalCode)&& v.isValidTownName(townName)&& v.isValidTelephone1(telephone1)&& v.isValidTelephone2(telephone2)&& v.isValidEmail(email)
&& v.isValidPrincipalDebit(principalDebit)&& v.isValidCollectionFee(collectionFee)&& v.isValidAdditionalFees(additionalFees)&& v.isValidTotalDebit(totalDebit)&& v.isValidDateOfInvoice(dateOfInvoice)&& v.isValidActivationDateCollectionFile(activationDateCollectionFile)
&& v.isValidBranch(branch)&& v.isValidKnownOnAddress(knownOnAddress)&& v.isValidFilters(filters))
{
System.out.println("processed");
continue;
}
else{
System.out.println("in the record having clientReferance :"+clientReferance +"\n");
}
和参考isValid * * *方法看起来像..
public boolean isValidClientReferance(String ClientReferance){
String pattern= "^[a-zA-Z0-9]*";
if(ClientReferance.matches(pattern) && mandatory(ClientReferance)){
return true;
}
System.out.println("Invalid ClientReferance");
return false;
}
这似乎是非常糟糕的设计。 –
在你遇到的问题上展示更多的背景,也许有更好的方法,但我们无法读懂头脑。 – Pedantic
布尔方法有多复杂?还是他们是你描述的? – xlm