문자열의 공허한 판단에 관하여:
코드를 복사하면 코드는 다음과 같습니다://맞습니다
if (선택 != null && !selection.equals("")) {
where절 += 선택;
}
//틀렸어요
if (!selection.equals("") && 선택 != null) {
where절 += 선택;
}
참고: "=="는 두 변수 자체의 값, 즉 메모리에 있는 두 개체의 첫 번째 주소를 비교합니다. 그리고 "equals()"는 문자열에 포함된 내용이 동일한지 비교합니다. 두 번째 작성 방법에서는 선택 항목이 실제로 null이면 equals 메서드가 실행될 때 null 포인터 예외가 직접 보고되고 실행이 계속되지 않습니다.
문자열이 숫자인지 확인합니다.
다음과 같이 코드 코드를 복사합니다.
// java와 함께 제공되는 함수를 호출합니다.
공개 정적 부울 isNumeric(문자열 번호) {
for (int i = number.length(); --i >= 0;) {
if (!Character.isDigit(number.charAt(i))) {
거짓을 반환;
}
}
사실을 반환;
}
// 정규 표현식을 사용합니다.
공개 정적 부울 isNumeric(문자열 번호) {
패턴 패턴 = Pattern.compile("[0-9]*");
반환 패턴.매처(str).매치();
}
//ASCII 코드 사용
공개 정적 부울 isNumeric(문자열 번호) {
for (int i = str.length(); --i >= 0;) {
int chr = str.charAt(i);
if (문자 < 48 || 문자 > 57)
거짓을 반환;
}
사실을 반환;
}