所以这是我目前的代码;
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
是整数类型,因此可以将数值比较运算符(例如>=
和<=
)应用于其变量/文字。