Byte类型compareTo方法和compare方法用来比较两个byte类型的值大小,这两个方法的区别是一个是类方法,一个是成员方法,成员方法是对象类调用的。
两个方法:
static int compare(byte x, byte y)
int compareTo(Byte anotherByte)
需要注意的是Byte类型compareTo方法和compare方法的返回值,是要比较的两个byte类型值的差值,这个和Boolean类型的compareTo方法和compare方法返回0,-1,1是不同的。
看demo,对比了各种场景的输出结果:
/**
* compareTo和compare
*/
public class ByteTest {
public static void main(String[] args) {
System.out.println("Min:" + Byte.MIN_VALUE + ",Max:" + Byte.MAX_VALUE);
System.out.println(Byte.BYTES);
System.out.println(Byte.SIZE);
System.out.println(Byte.TYPE);
/* 输出
Min:-128,Max:127
1
8
byte
*/
System.out.println("----------------------------------------");
Byte b1 = new Byte("12");
Byte b11 = new Byte("-12");
Byte b2 = new Byte("12");
Byte b3 = new Byte("13");
Byte b4 = new Byte("15");
System.out.println(b1);
System.out.println(b11);
/* 输出
12
-12
*/
System.out.println("----------------------------------------");
System.out.println(b1.compareTo(b2));
System.out.println(b1.compareTo(b3));
System.out.println(b3.compareTo(b1));
System.out.println(b1.compareTo(b4));
System.out.println(b4.compareTo(b1));
/* 输出
0
-1
1
-3
3
*/
System.out.println("----------------------------------------");
System.out.println(Byte.compare(b1,b2));
System.out.println(Byte.compare(b1,b3));
System.out.println(Byte.compare(b3,b1));
System.out.println(Byte.compare(b1,b4));
System.out.println(Byte.compare(b4,b1));
/* 输出
0
-1
1
-3
3
*/
System.out.println("----------------------------------------");
System.out.println(b1==b2);
byte b5 = 10;
System.out.println(b1==b5);
/* 输出
false
false
*/
}
}