java – ‘占位符’字符以避免积极比较?
我正在研究
CodingBat exercises for Java.我遇到了以下问题:
我的代码是这样的: public int matchUp(String[] a,String[] b){ int count = 0; for (int i = 0; i < a.length; i++) { String firstLetterA = a[i].length() == 0 ? "ê" : a[i].substring(0,1); String firstLetterB = b[i].length() == 0 ? "é" : b[i].substring(0,1); if (firstLetterA.equals(firstLetterB)) { count++; } } return count; } 我的问题是:哪个“占位符”字符被认为是一种良好的做法,可以避免在firstLetterA和firstLetterB之间进行不必要的比较? 在这种情况下,我只分配了两个很少使用的不同字母(至少用英文).我尝试使用”(一个空字符,而不是空格)但当然,它们相互匹配.我也尝试过使用null,因为我认为它无法进行正面比较,但这也会导致问题. 解决方法
一个好的做法 – IMO – 是条件扩展而不是使用任何虚拟字符:
for (int i = 0; i < a.length; i++) { if (!a[i].isEmpty() && !b[i].isEmpty() && a[i].charAt(0) == b[i].charAt(0)) { count++; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |