您好,登錄后才能下訂單哦!
無論是功能性代碼還是算法性代碼,程序都是一系列流程的合集
既然是流程就分為:一般流程和異常流程;
一般流程保證了基本功能;
異常流程則是對程序穩定性的保證,不能因為一些非法輸入,項目就掛了;
注意,布爾表達式的先后順序,有時不可以交換
if (null == instance || instance.isEmpty())
0. 常見異常退出條件
參數為空;
表示長度,表示索引的整型為負數,或者超出待索引數組或容器的范圍;
1. String 的 startsWith 函數
首先來看 String 類為 startsWith 函數提供的對外接口,有如下形式的倆中函數重載:
public Boolean startsWith(String prefix, int toffset); public Boolean startsWith(String prefix) { starsWith(prefix, 0); // 調用的是雙參的實現 }
傳遞進來的參數的含義分別為,prefix:待匹配的字符串,toffset 當前字符串開始比較時的偏移,對于參數應當滿足:
toffset >= 0;
this.value.length >= prefix.length + toffset
也就是:
char[] ta = value; int pc = prefix.length; if ((toffset < 0) || (toffset > value.length-pc)) { // 負數形式的偏移, // 偏移加前綴的長度大于此字符串的長度; 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異常退出條件的判斷示例代碼的全部內容,洗完對大家有所幫助。感興趣的朋友可以繼續參閱本站:Java編程異常處理最佳實踐【推薦】、Java編程中的檢查型異常與非檢查型異常分析等,有什么問題可以隨時留言,小編會及時回復大家的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。