Objects类中的方法的使用

一、Objects类是什么?

Objects类是Object类的一个子类,此类包含一些static实用程序方法,用于操作对象或在操作前检查某些条件。 这些实用程序包括null或null方法,用于计算对象的哈希代码,返回对象的字符串,比较两个对象,以及检查索引或子范围值是否超出范围。

二、方法的使用(从1.7版本开始);

1.checkFromIndexSize​(int fromIndex, int size, int length)

该方法从9版本开始。

(1)变量和类型:static int;
(2)参数说明:

  • fromIndex - 子间隔的下限(包括)
  • size - 子范围的大小
  • length - 范围的上限(不包括)

(3)方法的作用:检查fromIndex(包括)和size(不包括)相加是否大于length;但是如果下面任一条件为真,则子范围被定义为超出界限抛出异常(IndexOutOfBoundsException):

  • fromIndex < 0
  • size < 0
  • fromIndex + size > length
  • length < 0

如果在条件范围内则会返回fromIndex的值(注意,fromIndex+size=length也返回fromIndex的值,因为该方法判断时不包括上限length的值)
(4)原方法代码中的判断代码:

    if ((length | fromIndex | size) < 0 || size > length - fromIndex)
            throw outOfBoundsCheckFromIndexSize(oobef, fromIndex, size, length);
        return fromIndex;

(5)实例测试:

import java.util.Objects;
public class checkFromIndexSize_test {
   
    public static void main(String[] args) {
   
        System.out.println(Objects.checkFromIndexSize(2,4,7));//2+4<7,返回2
        System.out.println(Objects.checkFromIndexSize(3,3,6));//3+3=6,返回3
        System.out.println(Objects.checkFromIndexSize(4,4,7));//4+4>7,抛出异常
    }
}

2.checkFromToIndex​(int fromIndex, int toIndex, int length)

该方法从9版本开始。

(1)变量和类型:static int;
(2)参数说明:

  • fromIndex - 子范围的下限(包括)
  • toIndex - 子范围的上限(不包括)
  • length - 上限(不包括)范围
    (3)方法的作用:检查否在子范围从fromIndex(包括)到toIndex (不包括)是范围界限内0(包括)到length (不包括)。
    如果下面任一条件为真,则子范围被定义为超出界限抛出异常(IndexOutOfBoundsException):
  • fromIndex < 0
  • fromIndex > toIndex
  • toIndex > length
  • length < 0

如果在条件范围内则会返回fromIndex的值(注意:fromIndex可以为0,并且fromIndex可以等于toIndex;toIndex可以等于length)。
(4)原方法中的判断代码:

if (fromIndex < 0 || fromIndex > toIndex || toIndex > length)
            throw outOfBoundsCheckFromToIndex(oobef, fromIndex, toIndex, length);
        return fromIndex;

(5)实例测试:

import java.util.Objects;
public class checkFromToIndex_test {
   
    public static void main(String[] args) {
   
        System.out.println(Objects.checkFromToIndex(0,1,2));//0<1<2,返回0
        System.out.println(Objects.checkFromToIndex(1,1,1));//1=1=1,返回1
        System.out.println(Objects.checkFromToIndex(2,5,3));//5>3,抛出异常
    }
}

3.checkIndex​(int index, int length)

该方法从9版本开始。

(1)变量和类型:static int;
(2)参数说明:

  • index - 该指数
  • length - 范围的上限(不包括)
    (3)方法的作用:检查index是否在0 (含)到length (不包括)范围内。
    如果下面任一条件为真,则定义index超出范围抛出异常(outOfBoundsCheckIndex):
  • index < 0
  • index >= length
  • length < 0

如果在条件范围则会返回index的值。
(4)原方法中的判断代码:

if (index < 0 || index >= length)
            throw outOfBoundsCheckIndex(oobef, index, length);
        return index;

(5)实例测试:

import java.util.Objects;
public class checkIndex_test {
   
    public static void main(String[] args) {
   
        System.out.println(Objects.checkIndex(0,2));//0<2,返回0
        System.out.println(Objects.checkIndex(1,1));//1=1,抛出异常
    }
}

4.compare​(T a, T b, Comparator<? super T> c)

该方法暂未整理。

5.deepEquals​(Object a, Object b)

(1)变量和类型:static boolean;
(2)参数说明:

  • a - 一个物体
  • b - 与 a进行比较的对象,用于深度相
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值