Java 如何将值和字符串输入到类对象中?获取NullPointerException

Java 如何将值和字符串输入到类对象中?获取NullPointerException,java,arrays,object,vector,Java,Arrays,Object,Vector,我试图将字符串名称、长电话号码和字符串注释添加到联系人对象中,然后将其放入对象数组中 public class VectorOfContacts implements ProjTwo { Contact[] contacts; public void addContact(Contact c) { if(isFull()); incrementCapacity(); size++;

我试图将字符串名称、长电话号码和字符串注释添加到联系人对象中,然后将其放入对象数组中

public class VectorOfContacts implements ProjTwo
{
    Contact[] contacts;
    public void addContact(Contact c)
    {

            if(isFull());
            incrementCapacity();
            size++;
            String name = "";
            long number = 0;
            String comment = "";
            c.setName(name);
            c.setPhoneNumber(number);
            c.setComment(comment);
            for (int i = 0; i < contacts.length; i++)
            {
                if (contacts[i] == null)
                {
                    contacts[i] = c;
                }
            }
            System.out.println("Added to input");

    }
}
公共类VectorOfContacts实现ProjTwo
{
联系人[]联系人;
公共联系人(联系人c)
{
如果(isFull());
增加容量();
大小++;
字符串名称=”;
长数=0;
字符串注释=”;
c、 集合名(名称);
c、 设置电话号码(号码);
c、 setComment(comment);
对于(int i=0;i

但是,我从c.setName(name)中得到一个NullPointerException。

我假设Contact中的方法“setName”只执行以下操作:

public void setName(String name){
    this.name = name;
}

如果是这种情况,那么c必须为null。这意味着问题出在调用“addContact(Contact c)”的方法中。不知何故,它传递了一个空参数。

您没有将联系人的实例传递给该方法。很可能您正在这样做:

Contact c;
...
addContact(c);
在本例中,实际上是将null传递给addContact方法。您需要这样做:

Contact c = new Contact();
...
addContact(c);

确保您正在将Contact类的有效实例传递给addContact method.stacktrace或gtfo;D
if(isFull())//