2015-03-25 12 views
-3

顯然,當我嘗試編譯在Java中的代碼,它不斷地說我預計這個代碼四號線:Java的ArrayList的說法給人<Identifier>預計

import java.util.*; 

public class Sorts { 
    public static void sort(ArrayList objects, Comparator<ZipInfo>) { 
    } 
} 

正如你所看到的,它採取的對象的ArrayList作爲此方法的第一個參數。另外,ZipInfo是一個實現比較器的類。 即使我修改參數來說「ArrayList對象」它仍然會聲稱沒有標識符。 此代碼中是否有任何缺陷會導致此錯誤?

+1

參數名缺失。 'Comparator zipInfoComparator' – 2015-03-25 07:32:40

回答

1

您的比較器參數缺少名稱。給它添加一個名字。

public static void sort(ArrayList objects, Comparator<ZipInfo> zipComp) { 
} 
+0

謝謝!我怎麼能忘記那樣的事情!由於某種原因,編譯器一直指向「ArrayList對象」。 – 2015-03-25 16:29:53

4

您需要設置一個標識爲您的第二個參數:

public class Sorts { 
    public static void sort(ArrayList objects, Comparator<ZipInfo> comp) { 
    } 
} 
1

您需要通過比較參數名稱。你只需指定類型。因此,請將其定義爲:

public static void sort(ArrayList objects, Comparator<ZipInfo> comparator) { 
相關問題