java - 将返回值分配给新变量(Java)

标签 java

自从我完成一些 Java 编码以来已经有一段时间了。

我需要为需要自动化的业务构建应用程序(研讨会的一部分),但这与我的问题无关...

我卡在了线上:customerList.add(customer);//(WCIA 类中的 addCustomer 方法的一部分) 这也是我第一次被告知“将返回值分配给新变量”作为错误的一部分,所以不太确定这意味着什么。

代码:主要

    import java.util.ArrayList;


public class WCIA {

    private final ArrayList customerList = null;

    public static void main(String[] args) {

        short s =002;


        Customer arno = new Customer();
        arno.setName("Arno");
        arno.setId(s);
        arno.setEmail("arnomeye@gmail.com");
        arno.setAddress("Somewhere");
        arno.setPhoneNum("0727855201");
         System.out.printf("%s",arno.getEmail());
     WCIA wcia = new WCIA();

     wcia.addCustomer(arno);
     wcia.displayCustomers();
    }

    public void addCustomer (Customer customer)
    {
        customerList.add(customer); // <---Problem over here
    }
    public void displayCustomers()
    {
        for(int x=0;x<customerList.size();x++)
        {
            Customer cus = (Customer) customerList.get(x);
            cus.DisplayCustomer();
        }
    }
}

代码:客户类:

    public class Customer {

   private short id;
   private String name;
   private String email;
   private String phoneNum;
   private String address;

  public Customer()
  {

    System.out.println("Class initiated");
  }




    public void DisplayCustomer()
    {
        System.out.append("Name : "+ name+"\n");
        System.out.append("ID : "+ id+"\n");
        System.out.append("Email : "+ email+"\n");
        System.out.append("Phone Number : "+ phoneNum+"\n");
        System.out.append("address : "+ address+"\n");
    }

    public void setId(short id) {
        this.id = id;
    }

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

    public void setEmail(String email) {
        this.email = email;
    }

    public void setPhoneNum(String phoneNum) {
        this.phoneNum = phoneNum;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public short getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public String getEmail() {
        return email;
    }

    public String getPhoneNum() {
        return phoneNum;
    }

    public String getAddress() {
        return address;
    }

}

最佳答案

您需要先实例化 ArrayList,然后才能为其分配元素。我猜你可能遇到了 NullPointerException

改变这一行:

private final ArrayList customerList = null;

private final ArrayList customerList = new ArrayList();

至少应该解决这个问题。我没有阅读您的其余代码,因此不确定是否存在其他问题。

关于java - 将返回值分配给新变量(Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21650490/

相关文章:

java - Xodus唯一属性键值

java - spring jpa每分钟运行一个任务但HikariPool关闭

java - HtmlUnit编码

java - 使用 Java 访问 Unix 中的目录

java - 如果 jsf 数据表为空,如何显示消息?

java - 为霍夫曼编码写入位

java - 使用正则表达式提取 XML 中的属性值

java - 如何在 Android 中格式化来自 Wordpress 的长 json 文本

java - 如何将 ant multirootfileset 转换为标准文件集?

java - 不同表单action属性的区别