java - 如何比较学生对象

标签 java

如何比较学生对象

我的代码

如何比较学生对象 如何比较学生对象
如何比较学生对象 如何比较学生对象

import java.time.format.DateTimeFormatter;
import java.util.Comparator;

public class Student implements Comparable < Student >{

    private String studentName;
    private String studentDOJ;

    public String getStudentName() {
        return studentName;
    }
    public void setStudentName(String studentName) {
        this.studentName = studentName;
    }
    public String getStudentDOJ() {
        return studentDOJ;
    }
    public void setStudentDOJ(String studentDOJ) {
        this.studentDOJ = studentDOJ;
    }


  @Override
        public int compareTo(Student other) {
             DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
             return Comparator.comparing(LocalDate.parse(Student::getStudentDOJ,formatter)).reversed()
                     .compare(this, other);
        }

}

最佳答案

您不能在那里使用方法引用。

LocalDate.parse(CharSequence, DateTimeFormatter)不需要Function<Student, String> ,所以你不能通过Student::getStudentDOJ .

@Override
public int compareTo(Student other) {
  DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
  return Comparator.comparing((Student student) -> LocalDate.parse(student.getStudentDOJ(), formatter)).reversed()
      .compare(this, other);
}

关于java - 如何比较学生对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57708455/

相关文章:

java - python子进程调用ubuntu 14.04

java - 无法在java中从mysql导出csv文件

java - 运行时异常是@ApplicationException(rollback=false) 但事务最终回滚

java - SPRING - CORS 中 ORIGIN 的含义是什么

JavaScript 和 Java 通信

java - Java 中的 Facebook Canvas 页面 - 可选的应用程序授权?

Java 文件列表 : NPE while using for loop

java - 从 PHP 到 C/C++ & Java 及其他

java - 如何实现这个功能呢?

java - 终止的线程恢复