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())//