常用类(常用类有哪些)_3

  本篇文章为你整理了常用类(常用类有哪些)的详细内容,包含有类风湿常用药有哪些 常用类有哪些 常用类java 常用类固醇类消炎药 常用类,希望能帮助你了解 常用类。

  Java中的对象,正常情况只能进行比较 == 或 !=不能使用

   或 的,但是在实际开发中有需要进行对象的比较

   comparable接口的使用举例:

   1.像String、包装类等实现了comparable接口,重写了comparableTo(obj)方法,给出了比较两个对象大小的方式

   2.像String 、包装类重写comparableTo(obj)方法以后,进行了从小到大的排列

   3.重写comparableTo(obj)的规则

   如果当前对象this大于形参对象obj,则返回正整数

   如果当前对象this小于形参对象obj,则返回负整数

   如果当前对象this等于形参对象obj,则返回零

   4.对于自定义类来说,如果需要排序,我们可以让自定义类实现comparable接口,重写compareTo()

   在comparableTo(obj)方法中指明如何排序

  测试单元代码如下:

  点击查看代码

  

@Test

 

   public void test1(){

   Goods[] arr1 = new Goods[5];

   arr1[0] = new Goods("lenovoMouse",35);

   arr1[1] = new Goods("huaweiMouse",65);

   arr1[2] = new Goods("dellMouse",43);

   arr1[3] = new Goods("xiaomiMouse",21);

   arr1[4] = new Goods("mircsoftMouse",65);

   Arrays.sort(arr1);

   System.out.println(Arrays.toString(arr1));

  

 

  Goods类代码如下:

  点击查看代码

  

package com.Tang.StringDay02;

 

  public class Goods implements Comparable{

   private String name;

   private double price;

   public Goods() {

   public Goods(String name, int price) {

   this.name = name;

   this.price = price;

   public String getName() {

   return name;

   public void setName(String name) {

   this.name = name;

   public double getPrice() {

   return price;

   public void setPrice(double price) {

   this.price = price;

   @Override

   public String toString() {

   return "name=" + name + \ +

   ", price=" + price + \n;

   //指明商品比较大小的方式:按价格从低到高排序,价格相同按名称从高到低排

   @Override

   public int compareTo(Object o) {

   if (o instanceof Goods){//判断是不是一个商品

   Goods goods = (Goods)o;//是商品的就进行转换

   //方式一:

   if(this.price goods.price)

   return 1;

   else if(this.price goods.price)

   return -1;

   else

   return -this.name.compareTo(goods.name);

   //按价格排序方式二

  // return Double.compare(this.price,goods.price);

   throw new RuntimeException();

  

 

  运行结果图

  二、Comparator实现定制排序

  点击查看代码

  

@Test

 

   public void test3(){

   Goods[] arr1 = new Goods[5];

   arr1[0] = new Goods("lenovoMouse",35);

   arr1[1] = new Goods("huaweiMouse",65);

   arr1[2] = new Goods("dellMouse",43);

   arr1[3] = new Goods("huaweiMouse",21);

   arr1[4] = new Goods("mircsoftMouse",65);

   //指明商品比较大小的方式:按名称从低到高排序,名称相同按价格从高到低排

   Arrays.sort(arr1, new Comparator() {

   @Override

   public int compare(Object o1, Object o2) {

   if(o1 instanceof Goods o2 instanceof Goods){

   Goods g1 = (Goods) o1;

   Goods g2 = (Goods) o2;

   if(g1.getName() == g2.getName()){

   return -Double.compare(g1.getPrice(),g2.getPrice());

   else{

   return g1.getName().compareTo(g2.getName());

   throw new RuntimeException("输入数据类型不一致");

   System.out.println(Arrays.toString(arr1));

  

 

  运行结果图
 

  以上就是常用类(常用类有哪些)的详细内容,想要了解更多 常用类的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: