现在这是我的代码;
public static boolean isValidPiecePlacement(String piecePlacementString) {
if (piecePlacementString.charAt(0) == 'A' || piecePlacementString.charAt(0) == 'B' ||
piecePlacementString.charAt(0) == 'C' || piecePlacementString.charAt(0) == 'D' ||
piecePlacementString.charAt(0) == 'E' || piecePlacementString.charAt(0) == 'F' ||
piecePlacementString.charAt(0) == 'G'){
return true;
}
return false;
它工作正常,但效率不高。我想知道是否有人知道该怎么做 这是一种更有效的方法吗?该代码仅检查第一个字符是否正确,即“A-G”中的字符。它还必须返回 true。谢谢
最佳答案
['A', 'G']
是一个字符范围,所以可以简化为
public static boolean isValidPiecePlacement(String piecePlacementString) {
if (piecePlacementString == null || piecePlacementString.length() == 0) {
return false;
}
final char firstChar = piecePlacementString.charAt(0);
if (firstChar >= 'A' && firstChar <= 'G') {
// make other comparisons
return true;
}
return false;
}
char
是整数类型,所以数值比较运算符像>=
和 <=
可以应用于它的变量/文字。
关于java - 简化代码 - 检查字符串中的第一个字符以匹配字符列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55158698/