簡體   English   中英

Java Long Compare和ValueOf方法未定義

[英]Java Long Compare and ValueOf method undefined

我正在引用我的Java版本JDK 1.8,但仍然出現錯誤。 這種引用有什么問題(六年后編寫Java)? 或任何其他更簡單的方法來做到這一點? 我進行了一些搜索,這些功能在更高的Java版本中可用。 蝕是Oxygen

未為Long類型定義方法valueOf(Long)

對於long類型,方法compareTo()未定義

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指向

/圖書館/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home

在此處輸入圖片說明

您在MyComparator聲明中聲明了名稱為Long的泛型類型,然后將其陰影在 java.lang.Long 您的課程不應該是通用的。 另外,由於您已經具有Long實例,因此不需要Long.valueOf 更改它以刪除通用名稱,例如

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

另外,在任何時候需要Comparator<Long>或實現Comparable任何其他class ,都可以調用:

Comparator.naturalOrder()

https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html#naturalOrder--

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM