如何在Java 中有效驗證字串是否代表整數
驗證字串是否包含整數值的需求是常見的程式設計中的任務。雖然使用 Integer.parseInt() 和處理潛在異常的傳統方法是可靠的,但它可能被認為有些麻煩。本文探討了一種可提高效能的替代解決方案。
替代方法
Jonas Klemming 的建議提供了傳統方法的有效替代方案。此函數按順序檢查字串中的每個字符,驗證它是否在數字範圍內(0 到 9)。程式碼如下:
public static boolean isInteger(String str) { if (str == null) { return false; } int length = str.length(); if (length == 0) { return false; } int i = 0; if (str.charAt(0) == '-') { if (length == 1) { return false; } i = 1; } for (; i < length; i++) { char c = str.charAt(i); if (c < '0' || c > '9') { return false; } } return true; }
效能分析
透過廣泛的基準測試,發現這種替代方法明顯優於Integer.parseInt(),特別是在處理時與非整數資料。這種性能的提高歸因於該函數直接檢查字串的字符,繞過了與解析和異常處理相關的開銷。
結論
而傳統的Integer .parseInt() 方法是整數驗證的一個簡單選項,Jonas Klemming 的替代解決方案在不影響準確性的情況下提供了性能優勢。對於專注於效率的應用程序,特別是在處理大量非整數資料時,替代方法是一個合適的選擇。
以上是有沒有更有效的方法來檢查 Java 字串是否代表整數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!