在 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中判断一个String是否代表整数需要仔细考虑效率和实现风格。所讨论的方法为您提供了针对不同场景的多种选项。
以上是如何高效判断Java字符串是否代表整数?的详细内容。更多信息请关注PHP中文网其他相关文章!