关于大神写的数据结构问题?

有一段不知用途的大神写的代码,实在看不懂,据猜测,应该是某种数据结构的实现。

哪位大神可以看一下哦~帮帮忙!

public class Arithmetic {

    private int num1, num2;

    public void arithmetic1(boolean b) {
        num1 <<= 1;
        if (b) num1++;
        num2++;
    }

    public Boolean arithmetic2() {
        if (arithmetic6()) return null;
        return num1 % 2 != 0;
    }

    public Boolean arithmetic3() {
        Boolean z = arithmetic2();
        if (z != null) {
            num1 >>>= 1;
            num2--;
        }
        return z;
    }

    public void arithmetic4() {
        num1 = num2 = 0;
    }

    public int arithmetic5() {
        return num2;
    }

    public boolean arithmetic6() {
        return num2 == 0;
    }
}

 

>有一段不知用途的大神写的代码

那什么代码会调用这些函数呢? 

看着像定义了6个算法,6个算法修改num1,num2的值,算法行数不多,看下就懂,之后就要看这6个算法在哪用到,才能根据业务修改。

不是什么数据结构,定义了一个用于特殊场景的算法类而已,你是看不懂算法1和算法5里的左移位和无符号右移位操作符吗?

具体是干嘛的不清楚,看你的项目场景,简单添加了点儿注释,不知道对你有没有帮助,你可以注释掉这段代码,看项目哪里报错,定位调用的类

private static int num1, num2;

	public static void arithmetic1(boolean b) {
		// num1左移
		num1 <<= 1;
		if (b)
			num1++;
		num2++;
	}

	/**
	 * @Title: arithmetic2
	 * @Description: 判断num1是否为奇数
	 * @author: 徐蜀黍
	 * @date: 2021年2月22日 下午2:47:36
	 * @return
	 */
	public Boolean arithmetic2() {
		// 如果num2==0,返回null
		if (arithmetic6())
			return null;
		// num2!=0,返回true或者false,true标识num1为奇数,false为偶数
		return num1 % 2 != 0;
	}

	public Boolean arithmetic3() {
		Boolean z = arithmetic2();
		if (z != null) {
			// 左边空出的位以0填充
			num1 >>>= 1;
			// num2自减1
			num2--;
		}
		return z;
	}

	/**
	 * @Title: arithmetic4   
	 * @Description: num1,num2赋值为0 
	 * @author: 徐蜀黍
	 * @date: 2021年2月22日 下午2:57:36
	 */
	public static void arithmetic4() {
		num1 = num2 = 0;
	}

	public int arithmetic5() {
		return num2;
	}

	public boolean arithmetic6() {
		return num2 == 0;
	}

 

在类上右键 find usage 可以查看哪里调用了该类,这个是一个业务类,应该不是什么数据结构