笔记


笔记

今天学了基础类库中的比较类comparable包装类

> comparable:

就是说如果我的类实现了comparable接口,就说明我的对象具备了comparable比较的能力,这个接口对实现它的每个类的对象进行排序。这种排序被称为类的自然排序,遵循自然规则。

它的方法是int compareTo (T o)

方法的作用是比较此对象与指定对象的顺序。如果该对象小于、等于或大于指定对象,则分别返回负整数、零、或整数。

具体实例:

 public class Student implements Comparable<Student> {
 @Override
 public int compareTo(Student stu) {
    return this.getAge()-stu.getAge();
   }
}

Student 类实现了Comparable接口,并且重写了compareTo方法 ,返回this.getAge()-stu.getAge();如果this.getAge()-stu.getAge()等于正数,就大于,负数就是小于,0则是等于。

Comparator比较器

指的是如果一个类实现了Comparator,那么这个类就具备了比较器的能力。
Comparator也是一个接口,并且是在java.util这个包下。

它的方法是compare(T o1,T o2)

它的作用是用来比较两个参数。根据第一参数小于、等于或大于第二个参数分别返回负数、零和整数。

o1是要比较的第一个对象

o2是要比较的第二个对象

具体实例:

  import java.util.Comparator;
     public class NameCompartor implements Comparator<Student> {

      @Override
      public int compare(Student s1, Student s2) {
         return s1.getName().compareTo(s2.getName());
       }
   }

NameCompartor实现了Comparator接口,并且重写了它的方法。方法和compareTo类似,只不过比较的是两个对象s1和s2。

> 包装类

包装类就是将基本数据包装成类。

自动拆箱和自动装箱

将基本数据类型自动转换成引用数据类型

  integer i=0;

将引用数据类型自动拆箱称基本数据类型

    int t=i;

将10进制转换成2进制

  String binaryString=Integer.toBinaryString(10);
  System.out.println(binaryString);

将10转换成8进制

  String octalString = Integer.toOctalString(10);
  System.out.println(octalString);

将10进制转换成16进制

   String hexString = Integer.toHexString(10);
   System.out.println(hexString);

二进制转换成10进制

   String string = Integer.toString(10, 4);
   System.out.println(string);

常量池

实例:

    Integer i1=127;
    Integer i2=127;
    System.out.println(i1==i2);
    System.out.println(i1.equals(i2));

结果是:true , true

    Integer i3=128;
    Integer i4=128;
    System.out.println(i3==i4);
    System.out.println(i3.equals(i4));

结果是:false , true

因为常量池是一个字节(-128到127)如果用==号来比较,则超出了这个值,所以返回false。而equals比较的是值,所以i3.equals(i4)变成了值,所以返回的是true。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值