[英]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.