我们知道8个基本数据类型都有其对应的包装类,这里就不一一介绍了,我们主要分析compare和compareTo这两个方法。接下来一一演示:
1.Byte:
Byte m=2; Byte n=6; System.out.println(Byte.compare(m ,n));//-4 System.out.println((m.compareTo(n)));//-4
2.Short:
Short m=2; Short n=6; System.out.println(Short.compare(m ,n));//-4 System.out.println((m.compareTo(n)));//-4
3.Character:
Character m=2; Character n=6; System.out.println(Character.compare(m ,n));//-4 System.out.println((m.compareTo(n)));//-4
4.Integer:
Integer m=2; Integer n=6; System.out.println(Integer.compare(m ,n));//-1 System.out.println((m.compareTo(n)));//-1
5.Long
Long m=2L; Long n=6L; System.out.println(Long.compare(m ,n));//-1 System.out.println((m.compareTo(n)));//-1
6.Float:
Float m=2F; Float n=6F; System.out.println(Float.compare(m ,n));//-1 System.out.println((m.compareTo(n)));//-1
7.Double:
Double m=2D; Double n=6D; System.out.println(Double.compare(m ,n));//-1 System.out.println((m.compareTo(n)));//-1
8.Boolean:
Boolean m=false; Boolean n=true; System.out.println(Boolean.compare(m ,n));//-1 System.out.println((m.compareTo(n)));//-1Boolean m=false; Boolean n=false; System.out.println(Boolean.compare(m ,n));//0 System.out.println((m.compareTo(n)));//0Boolean m=true; Boolean n=true; System.out.println(Boolean.compare(m ,n));//0 System.out.println((m.compareTo(n)));//0Boolean m=true; Boolean n=false; System.out.println(Boolean.compare(m ,n));//1 System.out.println((m.compareTo(n)));//1
由上面演示结果可有以下结论:
1.Byte、Short、Character它们的比较结果为前后两者的差值,若为负数,则表明:前者<后者;若为正数,则表明:前者>后者;若为0,则表明:前者==后者。
2.Integer、Long、Float、Double它们的比较结果为-1,0,1。若为-1,则表明:前者<后者;若为1,则表明:前者>后者;若为0,则表明:前者==后者。
3.Boolean它的比较结果为-1,0,1。若为-1,则表明:前者为false,后者为true;若为1,则表明:前者为true,后者为false;若为0,则表明:前者和后者都为true或者false。
注:
Byte 、 Short 、 Integer、Long 其中内部都有缓存(内部已经定义好的数组并已经赋值了) ,具体缓存数值为: -128 ~ 127 之间。
Integer 是可以通过 配置文件 来修改默认的 缓存 范围的。
版权声明:本文为weixin_48493408原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。