goa*_*oat 1 java string boolean
所以这是我目前的代码;
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;
Run Code Online (Sandbox Code Playgroud)
它工作正常,但效率不高。我想知道是否有人知道这是一种更有效的方法?该代码仅检查第一个字符是否正确,即“ 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;
}
Run Code Online (Sandbox Code Playgroud)
char是整数类型,因此数值比较运算符喜欢>=和<=可以应用于其变量/文字。