java对象比较接口:Comparable

 时间:2024-12-20 19:16:19

1、新建一个实体类:package com.gwolf.crud.bean;public class Book { private String title; private double price; public Book(String title, double price) { this.title = title; this.price = price; } @Override public String toString() { return super.toString(); } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; }}

java对象比较接口:Comparable

2、在main方法中使用Arrays.sort()方法比较两个对象的大小。package com.gwolf.crud.utils;import java.util.Arrays;import com.gwolf.crud.bean.Book;public class TestDemo { public static void main(String[] args) { Book books[] = new Book[]{new Book("a",145), new Book("a",25),new Book("a",10)}; Arrays.sort(books); }}

java对象比较接口:Comparable

3、运行此main方法:Exception in thread "main" java.lang.ClassCastException: com.gwolf.crud.bean.Book cannot be cast to java.lang.Comparable at java.util.ComparableTimSort.countRunAndMakeAscending(ComparableTimSort.java:320) at java.util.ComparableTimSort.sort(ComparableTimSort.java:188) at java.util.Arrays.sort(Arrays.java:1246) at com.gwolf.crud.utils.TestDemo.main(TestDemo.java:13)

java对象比较接口:Comparable

4、出现了一个异常是因为两个没有关系的类对象发生了转换异常。我们的vo对象没有实现Comparable接口。

java对象比较接口:Comparable

5、重新编写vo的实现类,实现Comparable接口。package com.gwolf.crud.bean;public class Book implements Comparable<Book>{ private String title; private double price; public Book(String title, double price) { this.title = title; this.price = price; } @Override public String toString() { return super.toString(); } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } @Override public int compareTo(Book o) { return new Double(o.getPrice()).compareTo(this.getPrice()); }}

java对象比较接口:Comparable

6、重新运行main方法中的程序,结果已经根据价格排序了。

java对象比较接口:Comparable
  • 英雄联盟拉克丝的技能怎么加点
  • 英雄联盟s5阿卡丽中单对线技巧
  • 掠食恋人的礼物树在哪
  • 英雄联盟手游沙漠死神怎么出装
  • 《信长之野望14:创造》德川家康简介
  • 热门搜索
    人民币图片大全 美女漫画大全 武功秘籍大全 小甲鱼怎么养 卡牌游戏大全 suv汽车大全 罪恶都市秘籍大全 美食图片大全 西安石油大学怎么样 电话图片大全