有一段不知用途的大神写的代码,实在看不懂,据猜测,应该是某种数据结构的实现。
哪位大神可以看一下哦~帮帮忙!
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 可以查看哪里调用了该类,这个是一个业务类,应该不是什么数据结构