【发布时间】:2015-09-04 04:15:19
【问题描述】:
这是我的代码,我必须在其中附加一个字符串,以便我可以像这样输出 name,email,phoneNumber,这是我想到的两种方式
String matchedFields = "";
DuplicateApplicantPojo duplicateApplicantPojo = new DuplicateApplicantPojo();
if (applicant.getApplicantName().equals(detectionPojo.getName())) {
matchedFields = DuplicateSettingsConstants.LABEL_NAME;
}
if (applicant.getApplicantEmail1().equals(detectionPojo.getEmail1())) {
matchedFields = ", " + DuplicateSettingsConstants.LABEL_EMAIL;
}
if (applicant.getApplicantCellPhone().equals(detectionPojo.getCellPhone())) {
matchedFields = ", " + DuplicateSettingsConstants.LABEL_PHONE;
}
另一种方法是
String matchedFields[] = new String[3];
int i=0;
DuplicateApplicantPojo duplicateApplicantPojo = new DuplicateApplicantPojo();
if (applicant.getApplicantName().equals(detectionPojo.getName())) {
matchedFields[i] = DuplicateSettingsConstants.LABEL_NAME;
i++;
}
if (applicant.getApplicantEmail1().equals(detectionPojo.getEmail1())) {
matchedFields[i] = DuplicateSettingsConstants.LABEL_EMAIL;
i++;
}
if (applicant.getApplicantCellPhone().equals(detectionPojo.getCellPhone())) {
matchedFields[i] = DuplicateSettingsConstants.LABEL_PHONE;
}
String matched=matchedFields[0];
for(int j=1;j<matchedFields.length;j++)
{
matched=", "+matchedFields[i];
}
我应该选择哪种方式?或者有没有其他方法可以继续
【问题讨论】:
-
从技术上讲,最好将此发布到代码审查中,因为您还没有真正将其标记为错误。
-
考虑让它更具可读性。也许将您的实例重命名为申请人,并且类似于预期的东西而不是 detectionPojo
-
你可以利用这个stackoverflow.com/a/26195047/1326537的回答来实现这个功能
-
什么会让你“更喜欢”任何一种解决方案而不是另一种?快点?使用更少的内存?更少的边缘案例?更简单的代码?更小的字节码?在 Java 1.1 环境中编译没有警告? ...?如果我们不知道您的目的地,我们无法告诉您乘坐哪辆巴士。
标签: java if-statement for-loop