Java Long Compare 和 ValueOf 方法未定义

标签 java long-integer comparator

我正在引用我的 Java 版本 JDK 1.8,但我仍然遇到错误。这个引用有什么问题(6 年后写 Java)?或任何其他更简单的方法来做到这一点?我做了一些搜索,这些功能在以后的 java 版本中可用。 Eclipse 是氧气

The method valueOf(Long) is undefined for the type Long

The method compareTo() is undefined for the type Long

import java.util.Comparator;
import java.lang.Long;

public class MyComparator<Long> implements Comparator<Long>{
    @Override
    public int compare(Long long1, Long long2) {    
        //Long.compareTo()
          return Long.valueOf(long1).compareTo(Long.valueOf(long2));
    }
}

和JDK指向

/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home

enter image description here

最佳答案

MyComparator 的声明声明了一个通用类型的名称 Long,然后是 shadows java.lang.Long。你的类(class)不应该是通用的。此外,您不需要 Long.valueOf,因为您已经拥有 Long 实例。更改它以删除通用的,例如

public class MyComparator implements Comparator<Long> {
    @Override
    public int compare(Long long1, Long long2) {
        return long1.compareTo(long2);
    }
}

关于Java Long Compare 和 ValueOf 方法未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46270157/

相关文章:

java - compare consistent with equals 是什么意思?如果我的类(class)不遵循这个原则,可能会发生什么?

java - 导入和反序列化时对象显示 null

java - 加载 java.util.logging.config.file 进行默认初始化

将 unsigned long 的每个字节转换为 unsigned char 数组的元素

javascript - 如何在 JavaScript 中将长日期值转换为字符串格式

java - 按属性对自定义对象的 ArrayList 进行排序

java - 如何在 Java/GWT Web 应用程序中实现 Log4j-audit

java - 应在我的应用程序中检查哪些 HTTP 状态代码

从 unsigned long int 转换为 signed int,反之亦然

java - 在java中组合比较器