`
xinyiwust
  • 浏览: 13515 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

边界检查函数checkBounds

    博客分类:
  • java
阅读更多
今天在看java.nio.Buffer的源码时,看到这样一个函数:
    static void checkBounds(int off, int len, int size) { 
        if ((off | len | (off + len) | (size - (off + len))) < 0)
	    throw new IndexOutOfBoundsException();
    }

这是一个边界检查函数,感觉写的非常简洁,只要满足如下条件就抛出IndexOutOfBoundsException:
off<0或者len<0或者off+len超出了Integer的最大值或者size<(off+len)。
以后在检查数组越界的时候可以直接拿来用了。
分享到:
评论

相关推荐

    bcb常用函数说明,可以当作工具使用哦,还蛮有用的

    - **Bounds**:该函数用于获取或设置对象的边界,比如窗口的位置和大小等。 - **CollectionsEqual**:用于比较两个TCollection对象是否相等,这对于处理数据集合非常有用。 - **CurrentGroup**:返回当前活动的Group...

    Borland C++ Builder函数库

    - **Bounds**: 提供矩形边界操作的方法。 - **CollectionsEqual**: 比较两个`TCollection`对象是否相等。 - **CurrentGroup**: 获取当前组的信息。 - **FindClass**: 查找并返回指定类型的`TPersistent`对象。 - **...

    BoundsChecker教程[归纳].pdf

    5. **API函数使用错误**:检查API调用的参数是否正确,确保函数的使用符合其规定。 安装BoundsChecker后,它会无缝集成到VC++集成开发环境中,增加一个名为"BoundsChecker"的菜单。此菜单提供了两种运行时错误检测...

    fortran常见错误及其原因

    - 检查函数或子程序名称的拼写和大小写是否正确。 - 确认所有必要的库文件和对象文件都已添加到项目中。 #### 5. Implicit Type and Undefined Label - **错误信息**: - `error FOR229O: implicit type for i ...

    IT软件开发常用英语词汇经典大全.doc

    11. **边界检查(Bounds Checking)**:确保数组或其他数据结构的索引在有效范围内,防止越界错误。 12. **装箱(Boxing)**:将值类型(如int或bool)转换为引用类型的过程。 13. **类(Class)**:面向对象编程...

    二维矩阵模板

    - 当进行调试时,可以通过在包含 `matrix.h` 的文件顶部添加 `#define BOUNDS_CHECK` 来启用边界检查功能。 - 调试完成后,为了提高性能,请注释掉 `#define BOUNDS_CHECK`。 通过以上分析,我们可以看出,这个矩阵...

    IT软件开发常用词汇大全.docx

    9. **边界检查(Bounds Checking)**:确保数组或集合访问不会超出其实际大小的机制,防止越界错误。 10. **断言(Assertion)**:用于测试程序状态的语句,如果条件不满足,则引发异常。 11. **类(Class)**:...

    Java英文单词汇总

    Bounds Checking:边界检查,指的是某个边界或范围检查。 Boxing:装箱、装箱转换,指的是某个值类型到引用类型的转换。 Brace (Curly Brace):大括号、花括号,指的是某个代码块或语句块的开始或结束标记。 ...

    编程英语单词

    64. **Bounds Checking (边界检查):** - 边界检查是指在访问数组或集合时确保索引在有效范围内。 65. **Boxing (装箱、装箱转换):** - 装箱是指将值类型转换为引用类型的过程。 66. **Brace (Curly Brace 大括号...

    软件开发技术常用术语英中对照

    **边界检查**:在访问数组或其他数据结构时,确保索引不超出有效范围的过程。 #### Boxing **装箱**:将值类型转换为引用类型的过程。 #### Brace (Curly Brace) **花括号**:用于表示代码块或范围的符号。 #### ...

    程序员常用英语词汇.pdf

    18. boundschecking: 边界检查,确保变量的值不超出定义范围。 19. boxing: 装箱,将值类型转换为对象类型的过程。 20. brace: 大括号、花括号,用于代码块分隔或数组、字典等数据结构的定义。 21. bracket: 中括号...

    IT软件开发常用词汇大全.docx编程资料

    **Bounds Checking 边界检查** 边界检查是一种程序技术,用于确保访问数组或缓冲区时不会超出有效范围。 **Boxing 装箱、装箱转换** 装箱是指将值类型转换为引用类型的过程。在.NET框架中,装箱通常用于将值类型...

    软件开发英语词汇

    **Bounds Checking 边界检查** - 边界检查是指在访问数组或其他容器时确保索引值在有效范围内。 **Boxing 装箱、装箱转换** - 装箱是指将值类型转换为引用类型的过程。 **Brace (Curly Brace) 大括号、花括号** ...

    双谷网关于IT行业软件开发常用英语词汇大全.docx

    **Bounds Checking 边界检查** - **Definition**: 一种在程序运行时检查数据是否超出有效范围的技术。 **Boxing 装箱、装箱转换** - **Definition**: 将值类型转换为引用类型的过程。 **Brace (Curly Brace) 大...

    JAVA英语单词(带音标).

    - **[tʃek]**:检查(Check),一种状态。 - **[bɔks]**:盒子(Box),容器的一种。 - **Checkbox: 复选框**:用于选择多个选项的控件。 - **['reidiəu]**:单选(Radio),只能选择一个选项的控件。 - **['kɔ...

Global site tag (gtag.js) - Google Analytics