Comparable接口的使用:(知识回顾)

1、定义一个学生类,具有年龄age和姓名username两个属性,并通过Comparable接口提供比较规则。

package demo02.sort;
public class Student implements Comparable<Student>{private String username;private int age;public String getUsername() {return username;}public int getAge() {return age;}public void setUsername(String username) {this.username = username;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "Student{" +"username='" + username + '\'' +", age=" + age +'}';}@Overridepublic int compareTo(Student o) {return this.getAge()-o.getAge();}
}

2、定义测试类TestComparable,在测试类Test中定义测试方法Comparable getMax(comparable c1,comparable c2)完成测试

package demo02.test;
import demo02.sort.Student;
public class TestComparable {public static void main(String[] args) {Student s1 = new Student();s1.setUsername("张三");s1.setAge(18);Student s2 = new Student();s2.setUsername("李四");s2.setAge(20);Comparable max = getMax(s1, s2);System.out.println(max);}public static Comparable getMax(Comparable c1, Comparable c2) {int result = c1.compareTo(c2);//如果result>0,则c1比c2大,如果result<0,则c2比c1大如果result=0,则c1==c2大if (result >= 0) {return c1;} else {return c2;}}
}

运行结果

Comparable接口的使用:(知识回顾)相关推荐

  1. Java 中类的比较与排序方法(应用Comparable接口与Comparator接口)通俗易懂

    引言 在平时写Java的程序的时候,如果要进行一些基本类型的变量的比较,可以很方便得调用Math.max().Math.min()等方法,如果要对数组或者列表进行排序,也可以用Arrays.sort( ...

  2. [C#] C# 知识回顾 - 装箱与拆箱

    装箱与拆箱 目录 生活中的装箱与拆箱 C# 的装箱与拆箱 值类型和引用类型 装箱 拆箱 读者见解 生活中的装箱与拆箱    我们习惯了在网上购物,这次你想买本编程书 -- <C 语言从入门到放弃 ...

  3. 【springmvc+mybatis项目实战】杰信商贸-6.重点知识回顾

    1.重点知识回顾 Maven 1)覆盖仓库文件,实际企业开发,公司会架一个测试服务器,在测试服务器中架私服.我们开发人员的程序,都连接私服.当本地没有项目中要使用的jar,Myeclipse mave ...

  4. Java基础知识回顾之七 ----- 总结篇

    前言 在之前Java基础知识回顾中,我们回顾了基础数据类型.修饰符和String.三大特性.集合.多线程和IO.本篇文章则对之前学过的知识进行总结.除了简单的复习之外,还会增加一些相应的理解. 基础数 ...

  5. java知识回顾_Java7 –回顾

    java知识回顾 我开始写博客文章,介绍即将发布的Java8版本中的新增功能 ,并认为我将从快速回顾一下Java7带给我们的内容开始. Java7于2011年7月发布,被描述为"更具进化性而 ...

  6. java知识点博客园_JAVA基础知识回顾

    JAVA基础知识回顾 一.背景介绍 JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版) JavaEE(J2EE)(Java 2 Platfo ...

  7. Linux基础入门篇知识回顾

    Linux基础入门篇知识回顾 一.回顾书籍 二.基础知识 1.计算机基础知识 1.1计算机的特点及发展趋势 ①特点 ②发展趋势 1.2计算机系统组成 ①计算机硬件概念 ②计算机硬件各部分功能 ![在这 ...

  8. 操作系统笔记1:知识回顾和操作系统概述

    知识回顾 冯·诺依曼体系结构 只用北桥的话性能好,但需要集成封装,可扩展性差,且北桥造价高. 只用南桥的话可扩展性好,造价更低,但是性能不够好. 北桥更新换代更快. 智能手机也符合冯·诺依曼体系结构. ...

  9. Nginx+Keepalived+LVS高可用集群----相关知识回顾

    1.原理回顾 1.1.集群知识回顾 集群特点: 1)高性能performance. 一些需要很强的运算处理能力比如天气预报,核试验等.这需要上千台计算器协同来完成这个工作的,共同分担计算任务. 2)价 ...

最新文章

  1. springboot+swagger传递参数的几种格式
  2. JAVA EXCEL API(jxl)简介
  3. C#= 栈模仿堆的操作
  4. 设置SSH免密码自动登录(使用别名)
  5. Spring的IOC理解(转载)
  6. Markdown 编写示例
  7. 广西南宁机器人比赛_第18届广西青少年机器人竞赛闭幕
  8. 全球著名编程大赛地址
  9. wps删除第二页页眉
  10. 此计算机怎样连接未识别的网络连接,电脑无法连接无线网络显示未识别如何解决...
  11. C语言中用零作为终止标记,求出一批非零整数中的偶数.奇数的平均值,用零作为终止标记的程序...
  12. 山水印|竹林野茶:走向世界的中国茶文化
  13. 可能是最强的Python可视化神器,建议一试
  14. 如何做好采购计划和库存管理?
  15. bzoj3998/洛谷3975 [TJOI2015]弦论 (后缀自动机)
  16. 20个月股票投资复盘:在被割韭菜中成长
  17. 我身边的一些数据库事故 (r5笔记第52天)
  18. 什么是雪崩什么是击穿?
  19. 四自由度机械手c语言编程设计,stm32开发:一种四自由度机械臂的简单算法
  20. C++之拷贝构造、拷贝赋值

热门文章

  1. html动态跟随鼠标效果,使用JS实现气泡跟随鼠标移动的动画效果
  2. linux共享内存示例,linux 进程间共享内存示例
  3. css怎样使弹跳的小球旋转,如何使用纯CSS实现小球跳跃台阶的动画效果(附源码)...
  4. python 捕获鼠标点击事件,在Python中的wx.Frame外部捕获鼠标事件
  5. java实现复制粘贴的计算器_软帝学院教你用java编写计算器(三)
  6. 爱链工具怎么使用 爱链工具详细使用图文教程
  7. IE浏览器网页无法缩放怎么办 解决IE浏览器网页无法缩放的方法
  8. Chrome谷歌浏览器76地址栏隐藏的HTTPS和WWW标记如何恢复
  9. vue-router进阶:路由使用归纳、路由导航守卫、导航守卫解析流程、
  10. linux时间子系统之,linux时间子系统(四)