2016-08-05 50 views
-2

我越來越java.lang.NullPointerException任何人都可以請我幫忙嗎? 我是java的初學者。我得到一個java.lang.NullPointerException在37行

public class HelloComplex { 

    public static String[] vehicles = {"Car","Bus","Auto"}; 

    public static String[][] drivers = { 
     {"Richa","Preeti","Bhawna","Vishakha"}, 
     {"Rishabh","Shahrukh","Shubham"}, 
     {"Antriksh","Ashwani","Navneet"} 
     }; 

    public static void main(String[] args) { 

     Map<String, Set<String>> map = new HashMap<String, Set<String>>(); 

     for(int i =0 ; i<vehicles.length; i++){ 

      String vehicle = vehicles[i]; 
      String[] driversList = drivers[i]; 

      Set<String> driverSet = new LinkedHashSet<String>(); 

      for(String driver : driversList){ 
       driverSet.add(driver); 
      } 

      map.put(vehicle, driverSet); 
     } 

      Set<String> driversList = map.get("helicopter");// here i am getting 

      for(String driver : driversList){ 
       System.out.println(driver); 
      } 
    } 

} 
+2

所以通過看代碼在37行工作啓動爲什麼它拋出異常! –

+0

我不認爲你正在接受你指出的那一行上的異常。你可以在'for(String driver:driversList){'lines。 –

回答

1
Set<String> driversList = map.get("helicopter"); 

map.get(「直升機」)不返回任何東西,因爲你的地圖不包含任何直升機作爲重點。

使用像現有的密鑰:

Set<String> driversList = map.get("Car"); 

和檢查driversList如果是零,如果它包含元素與否:

if (driversList != null && driversList.size()>0) 
    for(String driver : driversList){ 
       System.out.println(driver); 
      } 
} 
相關問題