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

wordpress 微言插件最新seo黑帽技术工具软件

wordpress 微言插件,最新seo黑帽技术工具软件,做国外网站填写价格按人民币写吗,方案图网站问题 我正在阅读有关Java中的接口的文章。其中提到我们必须实现compareTo方法才能在ArrayList容器上调用sort,例如Employee类应该实现 Comparable接口。 后面解释了为什么Employee类不能简单地提供compareTo方法而不实现Comparable接口?之所以需要接口…

问题

我正在阅读有关Java中的接口的文章。其中提到我们必须实现compareTo方法才能在ArrayList容器上调用sort,例如Employee类应该实现 Comparable接口。

后面解释了为什么Employee类不能简单地提供compareTo方法而不实现Comparable接口?之所以需要接口,是因为Java编程是强类型的。在进行方法调用时,编译器需要能够检查该方法是否确实存在。

因此,当我不实现Comparable接口并使用Arrays.sort方法时,我预计会出现编译时错误,但我没有观察到编译错误,而是得到了运行时错误。请解释为什么上述场景中没有显示编译时错误

以下是代码片段

package com.vrk.inheritance;import java.time.*;
import java.util.Arrays;public class Employee
{private String name;private double salary;private LocalDate hireDay;public Employee(String name, double salary, int year, int month, int day){this.name = name;this.salary = salary;hireDay = LocalDate.of(year, month, day);}public String getName(){return name;}public double getSalary(){return salary;}public LocalDate getHireDay(){return hireDay;}public void raiseSalary(double byPercent){double raise = salary * byPercent / 100;salary += raise;}/*public int compareTo(Object otherObject) {System.out.println("Employee compareTo called");return 0;}*//*** equalTo function in employee. Created on 8th Sep 2024* @param another object to compare to this object*/public boolean equals(Object otherObject) {// quick test to check if objects are identicalif ( this == otherObject) return true;// must return false if the explicit parameter is nullif(otherObject == null) return false;// if the classes don't match, they can't be equalif (getClass() != otherObject.getClass()) return false;// now we know otherObject is a non-null Employeevar other = (Employee) otherObject;// test whether the fields have identical value// Not sure in my setup below line is not working, but online compiler it is working. // java.util.Objects.equals(this.hireDay, other.hireDay);return true;}public static void main(String[] args) {var staff = new Employee[3];// fill the staff array with Manager and Employee objectsstaff[0] = new Employee("Harry Hacker", 50000, 1989, 10, 1);staff[1] = new Employee("Tommy Tester", 40000, 1990, 3, 15);staff[1] = new Employee("Ravi Tester", 60000, 1999, 4, 16);Arrays.sort(staff);}
}

解答

如果你看一下的文档Arrays.sort,你会发现它根本没有使用泛型;它只需要一个Object[]。这就是为什么你不会收到编译错误的原因。

这是出于历史原因:该方法是在Java引入泛型之前编写的

如果我们必须能够调用在类中实现的方法,为什么我们还必须实现接口?

因为该方法必须进行一些非平凡的反射。将Object转换为Comparable要容易得多,而且正如您所指出的,这更符合Java的类型系统理念。从本质上讲,Java不实现鸭子类型。

http://www.shuangfujiaoyu.com/news/3589.html

相关文章:

  • 免费下载app软件下载安装上海比较大的优化公司
  • 昆明网站建设王道下拉棒网站建设杭州
  • 文登区住房和城乡建设局网站seo教学网seo
  • html做高逼格网站电脑培训
  • python做互金网站网络销售公司怎么运作
  • 网站改版目标重庆森林经典台词 凤梨罐头
  • 如何建网站快捷方式百度识图在线识别
  • 创建网站制作仪表企业kol营销
  • 百度网站提交地址郑州网站排名优化公司
  • 强大的网站seo推广外包企业
  • 海天建设集团网站关键词查询工具软件
  • wordpress视频不全屏播放云优客seo排名公司
  • 网站建设渠道seo实战培训费用
  • 自己做购物网站计算机培训班
  • 网站优化北京南京网络营销服务
  • 自己开发一款聊天软件西安百度关键词优化排名
  • 传奇sf 新开网站优化近义词
  • wordpress仿站divcss新品上市怎么推广词
  • 葫芦岛做网站价格成都seo顾问
  • 八大处网站建设好用的磁力搜索引擎
  • 佛山微信网站建设关键词优化公司靠谱推荐
  • 为什么用dw做的网站打不开网站设计公司哪家专业
  • 柳州企业网站制作哪家好海外推广营销平台
  • 浙江建站管理系统价格厦门seo排名收费
  • 微网站的链接怎么做青岛招聘seo
  • 柳州网站建设公司哪家好市场营销方案怎么写
  • 鼠标放上去图片放大的网站企业网站快速建站
  • 企业官网建设_创意网站建设游戏推广合作
  • 临沂科技学校网站建设最经典的营销案例
  • 做微信公众号的是哪个网站seo如何优化排名