Java异常退出条件的判断示例代码

 更新时间:2017年10月30日 14:29:11   作者:Inside_Zhang  
这篇文章主要介绍了Java异常退出条件的判断示例代码,涉及常见异常退出条件等相关内容,具有一定参考价值,需要的朋友可以了解下。

无论是功能性代码还是算法性代码,程序都是一系列流程的合集

既然是流程就分为:一般流程和异常流程;

一般流程保证了基本功能;

异常流程则是对程序稳定性的保证,不能因为一些非法输入,项目就挂了;

注意,布尔表达式的先后顺序,有时不可以交换

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编程中的检查型异常与非检查型异常分析等,有什么问题可以随时留言,小编会及时回复大家的。

相关文章

  • Java 配置加载机制详解及实例

    Java 配置加载机制详解及实例

    这篇文章主要介绍了Java 配置加载机制详解及实例的相关资料,需要的朋友可以参考下
    2016-09-09
  • VScode+Java配置与使用的详细步骤

    VScode+Java配置与使用的详细步骤

    这篇文章主要介绍了VS code+Java配置与使用的详细步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • java使用pdfbox操作pdf文件示例

    java使用pdfbox操作pdf文件示例

    有时候PDF中的文字无法复制,这可能是因为PDF文件加密了,不过使用PDFBox开源软件就可以把它读出来,下面是使用示例
    2014-03-03
  • TF-IDF理解及其Java实现代码实例

    TF-IDF理解及其Java实现代码实例

    这篇文章主要介绍了TF-IDF理解及其Java实现代码实例,简单介绍了tfidf算法及其相应公式,然后分享了Java实现代码,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • Java中Boolean引发缺陷的解决

    Java中Boolean引发缺陷的解决

    本文主要介绍了Java中Boolean引发缺陷的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • spring IOC容器管理必须知道的一些操作(基于XML方式)

    spring IOC容器管理必须知道的一些操作(基于XML方式)

    Spring框架的核心是Spring容器,容器创建对象,将它们装配在一起,配置它们并管理它们的完整生命周期,下面这篇文章主要给大家介绍了关于spring IOC容器管理必须知道的一些操作,需要的朋友可以参考下
    2022-03-03
  • java实现微信公众平台发送模板消息的示例代码

    java实现微信公众平台发送模板消息的示例代码

    这篇文章主要介绍了java实现微信公众平台发送模板消息的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Mybatis-Plus实现公共字段自动填充的项目实践

    Mybatis-Plus实现公共字段自动填充的项目实践

    本文主要介绍了Mybatis-Plus实现公共字段自动填充的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Java基础之Comparable与Comparator概述

    Java基础之Comparable与Comparator概述

    这篇文章主要介绍了Java基础之Comparable与Comparator详解,文中有非常详细的代码示例,对正在学习java基础的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • 公司一般使用的分布式RPC框架及其原理面试

    公司一般使用的分布式RPC框架及其原理面试

    这篇文章主要为大家介绍了公司一般使用的分布式RPC框架及其原理的面试问题解答,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-03-03

最新评论