1. 程式人生 > >List is a raw type. References to generic type List should be parameterized

List is a raw type. References to generic type List should be parameterized

編譯環境:Eclipse

問題:編譯集合型別List、Set、Map程式碼時,編譯器出現下面的警告:

List is a raw type. References to generic type List<E> should be parameterized
Set is a raw type. References to generic type Set<E> should be parameterized
Map is a raw type. References to generic type Map<K,V> should be parameterized

具體的問題程式碼:

List addressList;

public void setAddressList(List addressList) {
    this.addressList=addressList;
}
public List getAddressList() {
    System.out.println("List Elements :" + addressList);
    return addressList;
}

  

警告的內容是,需要我們給出資料的原始型別,具體的修改方法如下:

List<String> addressList;

public void setAddressList(List<String> addressList) {
    this.addressList=addressList;
}
public List<String> getAddressList() {
    System.out.println("List Elements :" + addressList);
    return addressList;
}

問題下成功解決。

Set集合型別跟List集合型別一樣,具體說一下Map集合型別。

Map、HashMap集合型別問題總結:(因為這兩種集合型別都需要指出具體的key值和value值)

問題:
Map.Entry is a raw type. References to generic type Map<K,V>.Entry<K,V> should be parameterized
解決方法:
HashMap<Object, Object> addressHash;
HashMap<String, Long> addressHash;
Map<String, Long> addressMap;