【问题标题】:Adding An Object Onto ArrayList Between Two Classes将对象添加到两个类之间的 ArrayList
【发布时间】:2019-05-04 07:32:46
【问题描述】:

我正在尝试将 order1 对象添加到 Customer 类中的 orderList,但它不起作用。 toString() 方法在 ArrayList 中返回零项。有谁知道我还可以尝试做什么?

public class Customer {
       private ArrayList<Order> orderList;
       private int numberOfOrders = 0;

       public Customer(String name, Order firstElementInList) {
               this(name);
               this.orderList.add(0, firstElementInList);
       }

       public void setNumberOfOrders() {
           this.numberOfOrders = orderList.size();
       }

       public String toString() {
           return name + numberOfOrders;
       }
}

public class Main {
    static Scanner scan = new Scanner(System.in);

    public static void main(String[] args) {
        Order order1 = new Order( "bob", 1.1 );
        Customer bob = new Customer( "Bobby Shmurda ", order1 );


        System.out.println(bob.toString());
    }
}

一个字符串对象被添加到 ArrayList 中,当调用 toString() 时应该返回 ArrayList 的长度。

【问题讨论】:

    标签: java arraylist


    【解决方案1】:

    因为您的列表尚未创建,因为您尚未创建它的对象。

    使用以下代码创建您的列表。

    private ArrayList<Order> orderList = new ArrayList<>();
    

    【讨论】:

      【解决方案2】:
      public class Customer {
         private List<Order> orderList;
         private int numberOfOrders = 0;
      
         public Customer(String name, Order firstElementInList) {
                 this(name);
                 if(orderList == null) {
                      orderList = new ArrayList<Order>();
                 }
                 this.orderList.add(0, firstElementInList);
         }
      
         public void setNumberOfOrders() {
             this.numberOfOrders = orderList.size();
         }
      
         public String toString() {
             return "The length of the orderList: " + orderList != null ? orderList.size() : 0;
         }
      }
      public class Main {
          static Scanner scan = new Scanner(System.in);
      
          public static void main(String[] args) {
              Order order1 = new Order( "bob", 1.1 );
              Customer bob = new Customer( "Bobby Shmurda ", order1 );
      
      
              System.out.println(bob.toString());
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-05-07
        • 2017-11-04
        • 1970-01-01
        • 1970-01-01
        • 2017-12-12
        • 1970-01-01
        相关资源
        最近更新 更多