我在第37行得到了一个java.lang.NullPointerException

时间:2016-08-05 10:59:05

标签: java

我得到java.lang.NullPointerException任何人都可以帮助我吗? 我是java的初学者。

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);
            }
    }

}

1 个答案:

答案 0 :(得分:1)

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

map.get(&#34;直升机&#34;)没有返回任何东西,因为你的地图不包含任何直升机作为钥匙。

使用现有密钥,如:

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

并检查driversList是否为空且是否包含元素:

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