如何在java中定义一个方法,将新项输入到现有哈希表中?

如何在java中定义一个方法,将新项输入到现有哈希表中?,java,methods,hash,hashtable,Java,Methods,Hash,Hashtable,当我想向预定义的哈希表中添加一个项目时,它通常很简单。但是每当我想定义一个像addNewCustomer这样的方法并尝试使用customerHashtable.put。。。;函数内部的方法,它不工作。请帮助我定义一个与现有哈希表一起使用的方法,并让我在本例中向其中添加新对象 代码如下: public static void main(String[] args) { Hashtable<Integer, Customer> customerHashta

当我想向预定义的哈希表中添加一个项目时,它通常很简单。但是每当我想定义一个像addNewCustomer这样的方法并尝试使用customerHashtable.put。。。;函数内部的方法,它不工作。请帮助我定义一个与现有哈希表一起使用的方法,并让我在本例中向其中添加新对象

代码如下:

    public static void main(String[] args) {

           Hashtable<Integer, Customer> customerHashtable = new Hashtable<Integer, Customer>();
           customerHashtable.put (1, new Customer("david", "+13035003433", new Address("AR", "77555")));

           Customer customer = new Customer("mark", "13035003433", new Address("AR", "77200"));

           public void addNewCustomers(int key, Customer customer) { 
           customerHashtable.put(key, customer);
           System.out.println(customerHashtable.get(key).toString());
           }
    }

}
您必须将addNewCutomers方法放在主方法之外,并为哈希表创建一个类字段。假设您对静态上下文没有问题,它可能如下所示:

public class HashtableDemo {

    static Hashtable<Integer, Customer> customerHashtable;

    public static void main(String[] args) {

        customerHashtable = new Hashtable<Integer, Customer>();
        customerHashtable.put (1, new Customer("david", "+13035003433", new Address("AR", "77555")));

        Customer customer = new Customer("mark", "13035003433", new Address("AR", "77200"));
        addNewCustomers(2, customer);
    }

    public static void addNewCustomers(int key, Customer customer) { 
        customerHashtable.put(key, customer);
        System.out.println(customerHashtable.get(key).toString());
    }
}

您必须将customerHashtable传递给函数,或者将其设置为类字段。您说它不工作是什么意思?你能说得更具体些吗?@ElliottFrisch我是编程新手。你能再解释一下吗?我还复制了我想在上面完成的代码。谢谢你修复它。成功了。不过我有一个问题。既然我们使用了静态方法,这是否意味着我们也可以从其他类调用该方法@Tobiasgeiselman是正确的。因为它是一个公共方法,所以您也可以从任何其他类调用它。