[英]Why Doesn't compareTo() work?
我有兩個ArrayLists:
ArrayList<String> testList = new ArrayList<>();
ArrayList<String> wordList = new ArrayList<>();
它們被傳遞給方法:
public static void binSearch(ArrayList a1, ArrayList a2)
在方法內部,我想比較兩個ArrayList之間的字符串:
a1.get(i).compareTo(a2.get(newEnd / 2))
但是,我收到一條錯誤消息:
cannot find symbol
symbol: method compareTo(Object)
location: class Object
我聽說有人說我需要實現/擴展Comparable,但是似乎有些人在不導入/實現/擴展任何東西的情況下使用該方法就很好。
不要使用原始類型。 聲明您的binSearch
方法是:
public static void binSearch(ArrayList<String> a1, ArrayList<String> a2)
或者,如果您想支持任何Comparable
類型,請引入泛型類型變量:
public static <T extends Comparable<? super T>> void binSearch(List<T> a1, List<T> a2)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.