Java異常退出條件的判斷示例代碼
無論是功能性代碼還是算法性代碼,程序都是一系列流程的合集
既然是流程就分為:一般流程和異常流程;
一般流程保證了基本功能;
異常流程則是對程序穩(wěn)定性的保證,不能因為一些非法輸入,項目就掛了;
注意,布爾表達式的先后順序,有時不可以交換
if (null == instance || instance.isEmpty())
0. 常見異常退出條件
參數(shù)為空;
表示長度,表示索引的整型為負數(shù),或者超出待索引數(shù)組或容器的范圍;
1. String 的 startsWith 函數(shù)
首先來看 String 類為 startsWith 函數(shù)提供的對外接口,有如下形式的倆中函數(shù)重載:
public Boolean startsWith(String prefix, int toffset); public Boolean startsWith(String prefix) { starsWith(prefix, 0); // 調(diào)用的是雙參的實現(xiàn) }
傳遞進來的參數(shù)的含義分別為,prefix:待匹配的字符串,toffset 當前字符串開始比較時的偏移,對于參數(shù)應當滿足:
toffset >= 0;
this.value.length >= prefix.length + toffset
也就是:
char[] ta = value; int pc = prefix.length; if ((toffset < 0) || (toffset > value.length-pc)) { // 負數(shù)形式的偏移, // 偏移加前綴的長度大于此字符串的長度; return false; }
完整源碼如下:
public Boolean startsWith(String prefix, int toffset) { char ta[] = value; int to = toffset; char pa[] = prefix.value; int po = 0; int pc = prefix.value.length; // Note: toffset might be near -1>>>1. if ((toffset < 0) || (toffset > value.length - pc)) { return false; } while (--pc >= 0) { if (ta[to++] != pa[po++]) { return false; } } return true; }
總結
以上就是本文關于Java異常退出條件的判斷示例代碼的全部內(nèi)容,洗完對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:Java編程異常處理最佳實踐【推薦】、Java編程中的檢查型異常與非檢查型異常分析等,有什么問題可以隨時留言,小編會及時回復大家的。
相關文章
springboot動態(tài)定時任務的實現(xiàn)方法示例
這篇文章主要給大家介紹了關于springboot動態(tài)定時任務的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02用Java集合中的Collections.sort方法如何對list排序(兩種方法)
本文通過兩種方法給大家介紹java集合中的Collections.sort方法對list排序,第一種方式是list中的對象實現(xiàn)Comparable接口,第二種方法是根據(jù)Collections.sort重載方法實現(xiàn),對collections.sort方法感興趣的朋友一起學習吧2015-10-10Java實現(xiàn)讀取html文本內(nèi)容并按照格式導出到excel中
這篇文章主要為大家詳細介紹了如何使用Java實現(xiàn)讀取html文本提取相應內(nèi)容按照格式導出到excel中,文中的示例代碼講解詳細,需要的可以參考下2024-02-02