Java에서는 복잡한 표현식을 처리할 때 문자열 배열 내의 정수를 식별하는 문제가 발생합니다. 여기서는 주어진 문자열이 정수인지 확인하는 방법을 살펴보겠습니다.
순진한 접근 방식은 문자열을 탐색하여 각 문자가 유효한 숫자인지 확인하는 것입니다. 지정된 기수. 이렇게 하면 모든 요소를 면밀히 조사할 수 있습니다. 그러나 실용적인 목적으로는 최적의 효율성을 제공합니다.
public static boolean isInteger(String s) { return isInteger(s, 10); } public static boolean isInteger(String s, int radix) { if (s.isEmpty()) { return false; } for (int i = 0; i < s.length(); i++) { if (i == 0 && s.charAt(i) == '-') { if (s.length() == 1) { return false; } else { continue; } } if (Character.digit(s.charAt(i), radix) < 0) { return false; } } return true; }
또는 Java 라이브러리는 예외 없는 메커니즘을 제공합니다.
public static boolean isInteger(String s, int radix) { Scanner sc = new Scanner(s.trim()); if (!sc.hasNextInt(radix)) { return false; } // Ensures there's no remaining data after extracting the integer sc.nextInt(radix); return !sc.hasNext(); }
가벼운 접근 방식을 취하는 사람들을 위해 다음과 같은 의심스러운 기술은 예외를 사용합니다. 처리:
public static boolean isInteger(String s) { try { Integer.parseInt(s); } catch (NumberFormatException | NullPointerException e) { return false; } // Success if no exceptions occurred return true; }
결론적으로 Java에서 문자열이 정수를 나타내는지 확인하려면 효율성과 구현 스타일을 신중하게 고려해야 합니다. 논의된 방법을 통해 다양한 시나리오에 맞는 다양한 옵션을 얻을 수 있습니다.
위 내용은 Java 문자열이 정수를 나타내는지 어떻게 효율적으로 확인할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!