java - 为什么我得到 The operator - is undefined for the argument type(s) java.math.BigDecimal, java.math 错误消息

标签 java bigdecimal

Collections.sort(employees, new Comparator<Employee>() {

    public int compare(Employee s, Employee s1) {
        int comp = s.getName().compareTo(s1.getName());
        if (comp != 0) {    // names are different
            return comp;
        }
        return s.getSalary() - s1.getSalary();
    }
});
System.out.println(employees);

}

最佳答案

使用BigDecimal.compareTo(BigDecimal)它已经为你做了所有的逻辑:

return s.getSalary().compareTo(s1.getSalary());

-(减号)运算符仅为原始数字及其专用包装类型定义。

关于java - 为什么我得到 The operator - is undefined for the argument type(s) java.math.BigDecimal, java.math 错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55341057/

相关文章:

java - 如何用java制作Excel表格

Java:动态加载外部类

java - 更改 BlazeDS 和 Flex 中的子主题

java - 如何在 Android 应用程序中存储数据

java - 对 double 值进行减法时未得到预期结果

Java : Divide 2 bigdecimals and retain maximum number of digits after the decimal point

scala - 序列化问题 "scala.math.BigDecimal does not have a no-arg default constructor"

java - 将 BigDecimal 转换为 String 的正确方法

java - Spring Boot 与基于 session 的数据源

java - 在 IBM WebSphere 上运行的意外异常 java.math.BigDecimal