Java異常退出條件的判斷示例代碼
無(wú)論是功能性代碼還是算法性代碼,程序都是一系列流程的合集
既然是流程就分為:一般流程和異常流程;
一般流程保證了基本功能;
異常流程則是對(duì)程序穩(wěn)定性的保證,不能因?yàn)橐恍┓欠ㄝ斎?,?xiàng)目就掛了;
注意,布爾表達(dá)式的先后順序,有時(shí)不可以交換
if (null == instance || instance.isEmpty())
0. 常見(jiàn)異常退出條件
參數(shù)為空;
表示長(zhǎng)度,表示索引的整型為負(fù)數(shù),或者超出待索引數(shù)組或容器的范圍;
1. String 的 startsWith 函數(shù)
首先來(lái)看 String 類為 startsWith 函數(shù)提供的對(duì)外接口,有如下形式的倆中函數(shù)重載:
public Boolean startsWith(String prefix, int toffset); public Boolean startsWith(String prefix) { starsWith(prefix, 0); // 調(diào)用的是雙參的實(shí)現(xiàn) }
傳遞進(jìn)來(lái)的參數(shù)的含義分別為,prefix:待匹配的字符串,toffset 當(dāng)前字符串開(kāi)始比較時(shí)的偏移,對(duì)于參數(shù)應(yīng)當(dāng)滿足:
toffset >= 0;
this.value.length >= prefix.length + toffset
也就是:
char[] ta = value; int pc = prefix.length; if ((toffset < 0) || (toffset > value.length-pc)) { // 負(fù)數(shù)形式的偏移, // 偏移加前綴的長(zhǎng)度大于此字符串的長(zhǎng)度; 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; }
總結(jié)
以上就是本文關(guān)于Java異常退出條件的判斷示例代碼的全部?jī)?nèi)容,洗完對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:Java編程異常處理最佳實(shí)踐【推薦】、Java編程中的檢查型異常與非檢查型異常分析等,有什么問(wèn)題可以隨時(shí)留言,小編會(huì)及時(shí)回復(fù)大家的。
相關(guān)文章
springboot中的controller注意事項(xiàng)說(shuō)明
這篇文章主要介紹了springboot中的controller注意事項(xiàng)說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03springboot動(dòng)態(tài)定時(shí)任務(wù)的實(shí)現(xiàn)方法示例
這篇文章主要給大家介紹了關(guān)于springboot動(dòng)態(tài)定時(shí)任務(wù)的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02用Java集合中的Collections.sort方法如何對(duì)list排序(兩種方法)
本文通過(guò)兩種方法給大家介紹java集合中的Collections.sort方法對(duì)list排序,第一種方式是list中的對(duì)象實(shí)現(xiàn)Comparable接口,第二種方法是根據(jù)Collections.sort重載方法實(shí)現(xiàn),對(duì)collections.sort方法感興趣的朋友一起學(xué)習(xí)吧2015-10-10springboot bean掃描路徑的實(shí)現(xiàn)
這篇文章主要介紹了springboot bean掃描路徑的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01Java實(shí)現(xiàn)讀取html文本內(nèi)容并按照格式導(dǎo)出到excel中
這篇文章主要為大家詳細(xì)介紹了如何使用Java實(shí)現(xiàn)讀取html文本提取相應(yīng)內(nèi)容按照格式導(dǎo)出到excel中,文中的示例代碼講解詳細(xì),需要的可以參考下2024-02-02Java正則表達(dá)式之split()方法實(shí)例詳解
這篇文章主要介紹了Java正則表達(dá)式之split()方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了split方法的功能、使用方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-03-03