当前位置: 首页 > news >正文

网站建设与维护蒋勇从微信网页版登录手机版下载

网站建设与维护蒋勇从,微信网页版登录手机版下载,十二师建设局网站,个人小程序开发多少钱接口使用实例 给对象数组排序 两个学生对象的大小关系怎么确定? 需要我们额外指定. 这里需要用到Comparable 接口 在Comparable 接口内部有一个compareTo 的方法#xff0c;我们需要实现它 在下图中#xff0c;我们需要将o强制转换为Student 之后调用Arrays.sort(array)即… 接口使用实例 给对象数组排序 两个学生对象的大小关系怎么确定? 需要我们额外指定. 这里需要用到Comparable 接口 在Comparable 接口内部有一个compareTo 的方法我们需要实现它 在下图中我们需要将o强制转换为Student 之后调用Arrays.sort(array)即可完成排序如下 代码 package demo5;import java.util.Arrays;/*** Created with IntelliJ IDEA.* Description:* User: Home-pc* Date: 2023-08-16* Time: 16:40*/ class Student implements Comparable{public String name;public double score;public Student(String name,double score){this.namename;this.scorescore;}Overridepublic String toString() {return Student{ name name \ , score score \ };}public int compareTo(Object o) {Student student(Student)o;if(this.scorestudent.score){return 1;}else if(this.scorestudent.score){return -1;}return 0;} } public class Test {public static void main(String[] args) {Student[] arraynew Student[3];array[0]new Student(zhangsan,80);array[1]new Student(qwer,7);array[2]new Student(asdfg,806);System.out.println(前 Arrays.toString(array));Arrays.sort(array);System.out.println(后 Arrays.toString(array));} } 为了进一步加深对接口的理解, 我们可以尝试自己实现一个 sort 方法来完成刚才的排序过程(使用冒泡排序) 结果也是正确的 扩展上面的内容我们想分别按照年龄和分数排序 需要用到Comparator接口 建立两个不同的类来实现这两种方法都要实现Comparator接口 结果如下 上述代码如下 package demo5;import java.util.Arrays; import java.util.Comparator;/*** Created with IntelliJ IDEA.* Description:* User: Home-pc* Date: 2023-08-16* Time: 16:40*/ class Student{public String name;public double score;public int age;public Student(String name,double score,int age){this.namename;this.scorescore;this.ageage;}Overridepublic String toString() {return Student{ name name \ , score score \ };} } class AgeComparator implements ComparatorStudent{Overridepublic int compare(Student o1, Student o2) {return o1.age-o2.age;} } class ScoreComparator implements ComparatorStudent{Overridepublic int compare(Student o1, Student o2) {return (int)(o1.score-o2.score);} } public class Test {public static void main(String[] args) {Student[] arraynew Student[3];array[0]new Student(zhangsan,80,89);array[1]new Student(qwer,7,123);AgeComparator ageComparatornew AgeComparator();System.out.println(ageComparator.compare(array[0], array[1]));System.out.println();ScoreComparator scoreComparatornew ScoreComparator();System.out.println(scoreComparator.compare(array[0], array[1]));} } 抽象类和接口的区别 核心区别: 抽象类中可以包含普通方法和普通字段, 这样的普通方法和字段可以被子类直接使用(不必重写), 而接口中 不能包含普通方法, 子类必须重写所有的抽象方法. 抽象类存在的意义是为了让编译器更好的校验, 像 Animal 这样的类我们并不会直接使用, 而是使用它的子类. 万一不小心创建了 Animal 的实例, 编译器会及时提醒我们. Clonable 接口和深浅拷贝 Object 类中存在一个 clone 方法, 调用这个方法可以创建一个对象的 “拷贝”. 但是要想合法调用 clone 方法, 必须要 先实现 Clonable 接口 如下所示我们需要Student实现这个接口需要对clone方法重写 但是我们运行后发现还是报错 我们发现这里,点击添加Add 运行发现继续报错观察到红线这里需要的类型为Student我们提供的类型为Object需要强制类型转换 运行拷贝成功 上述为浅拷贝 结果并不理想它把两个对象里的grade都改了这种情况下没有构成深拷贝拷贝的是grade的地址它只是对Student对象中的内容进行了一份拷贝但是并没有对对象中的对象中的内容进行拷贝。 如何进行深拷贝 我们改动以下部分 Object类 Object是Java默认提供的一个类。Java里面除了Object类所有的类都是存在继承关系的。默认会继承Object父 类。即所有类的对象都可以使用Object的引用进行接收。 使用Object接收所有类的对象 Object类是参数的最高统一类型。但是Object类也存在有定义好的一些方法 我们主要来熟悉这几个方法toString()方法equals()方法hashcode()方法 Object类中的toString()方法实现可以直接用编译器生成重写 对象比较equals方法 在Java中 进行比较时 a.如果 左右两侧是基本类型变量比较的是变量中值是否相同 b.如果 左右两侧是引用类型变量比较的是引用变量地址是否相同 c.如果要比较对象中内容必须重写Object中的equals方法因为equals方法默认也是按照地址比较的 结论比较对象中内容是否相同的时候一定要重写equals方法 hashcode方法 算出一个具体的对象位置 我们认为两个名字相同年龄相同的对象将存储在同一个位置如果不重写hashcode()方法我们可以来看示例 代码 像重写equals方法一样我们也可以重写hashcode()方法。
http://wiki.neutronadmin.com/news/239504/

相关文章:

  • 织梦网站栏目对应首页app 网站开发公司
  • 唐山官方网站建设南宁关键词排名优化外包
  • 包头市做网站公司自己建网站做外贸
  • 网站建设与管理 教材php房产中介网站源码
  • vue和react可以做pc网站吗网站建设后台管理便捷
  • 网站建设规划表o2o网站开发公司
  • 不良网站举报中心官网网站建设餐饮
  • 温州网站优化案例精准ip地址查询工具
  • 普洱做网站的报价海口双语网站建设
  • 遂宁网站建设五金公司宣传册设计样本
  • 专业做民宿的网站网站还没有做可以备案吧
  • 网站电脑端和手机端在线室内设计网站
  • 沙元浦做网站的公司六安网站优化
  • 中山企业营销型网站制作小莉帮忙郑州阳光男科医院
  • 丽水网站建设企业自建微网站服务器
  • 成都成华网站建设网站反链如何做
  • c 网站开发调试东莞制作企业网站公司
  • 北京城乡和住房建设部网站关于做美食的小视频网站
  • 安乡网站制作男女做暖暖视频免费网站
  • 网站标题具体怎样优化微商平台app
  • 网站文章模块音乐网站建设的目的
  • 青岛网站制作流程电子商务网络营销方式
  • 浙江省建设诚信系统网站建设拍卖网站
  • 郑州网站推广招聘天津老区建设促进会网站
  • 电子商务网站版面布局wordpress媒体库 ftp
  • 南京网站制作案例建设网站 宣传平台
  • 做网站的没有进项票怎么办用自己电脑做服务器 网站吗
  • 手机版的网站开发上海房产网签合同查询
  • 郑州哪里有做网站的企业建站官网
  • 做网站运营需要培训吗高端婚纱摄影网站