【问题标题】:Passing Hashtable into method as a parameter throw null pointer exeception将哈希表作为参数传递给方法抛出空指针异常
【发布时间】:2011-09-08 11:32:29
【问题描述】:

我正在尝试将Hashtable 作为参数传递给一个方法,该方法本身将同一个表传递给另一个方法:

     public class Recruiter {
               private WebDriver driver;
               private DataEntry d;
               private String password;

               public Recruiter(WebDriver driver){
               this.driver = driver;
               }

              public void createRecruiter(Hashtable<String, String> vars, String     preferences[]){       
               d.enterText(vars);
               driver.findElement(By.id("SAVE")).click();
        }

        Main:

                  Hashtable<String, String> vars = new   Hashtable<String, String>();

                       vars.put("DOB","02 Mar 1983");
                       vars.put("SURNAME","Release");
                       vars.put("FIRSTNAME","David");
                        vars.put("COMPANYNAME","Test Inc");


                   Recruiter recruiter = new Recruiter(driver);
                       recruiter.createRecruiter(vars, preferences);

但是我不断收到空指针异常:d.enterText(vars);Hashtable 作为方法参数传递的正确方法是什么?

【问题讨论】:

    标签: java parameters hashtable parameter-passing


    【解决方案1】:

    我看不到您在哪里初始化 d。这导致了 NPE,而不是 vars。话虽如此,d 应该在Recruiter 的构造函数中初始化。

    【讨论】:

      【解决方案2】:

      在使用之前初始化DataEntry d。比如:

      d = new DataEntry();
      

      在构造函数内部。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-02-24
        • 1970-01-01
        • 2015-02-12
        • 1970-01-01
        • 1970-01-01
        • 2021-08-22
        • 2012-01-24
        • 2016-08-28
        相关资源
        最近更新 更多