无论是功能性代码还是算法性代码,程序都是一系列流程的合集
既然是流程就分为:一般流程和异常流程;
一般流程保证了基本功能;
异常流程则是对程序稳定性的保证,不能因为一些非法输入,项目就挂了;
注意,布尔表达式的先后顺序,有时不可以交换
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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。