繁体   English   中英

将 ArrayList 对象的一些值传递给另一个 class java

[英]Passing some values of an ArrayList of objects into another class java

我有一个 ArrayList 的客户,我想将此列表的一些元素但不是所有客户添加到另一个名为PayingCustomers的 class 中。 我如何才能将 ArrayList 的特定值添加到我的 class 构造函数中? 请忽略我的一些注释行,它们只是我在处理项目的其他元素。

Customer.java

//
    //
    //  Generated by StarUML(tm) Java Add-In
    //
    //  @ Project : Untitled
    //  @ File Name : Customer.java
    //  @ Date : 21/04/2020
    //  @ Author : 
    //
    //

    package javaapplication1;

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;


    public class Customer {

        private String name;
        private String email;
            private List <Customer> list;
        private Magazine magazines;


            public void SetName(String name){

                this.name = name;

            }
        public void SetEmail(String email){

                this.email = email;

            }
        public String GetName(){

                return name;

            }
        public String GetEmail(){

                return email;

            }

            public List<Customer> getList() {

                return list;

            }

            public void setList(List<Customer> list) {

                this.list = list;

            }

            public Customer(String name, String email, Magazine magazines){

                this.name = name;
                this.email = email;
                this.magazines = magazines;


            }

            public String toString() {

            return "\nName: " + name + " Email: " + email + "\nMagazine Details: " + magazines + "\n";


            }

    }

PayingCustomer.java

//
    //
    //  Generated by StarUML(tm) Java Add-In
    //
    //  @ Project : Untitled
    //  @ File Name : PayingCustomer.java
    //  @ Date : 21/04/2020
    //  @ Author : 
    //
    //

    package javaapplication1;

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;


    public class PayingCustomer{
        private String paymentmethod;
        private List <Customer> list;
            //private List <Associate> list2;

        public void SetPaymentMethod(String paymentmethod){

                this.paymentmethod = paymentmethod;

            };
        public String GetPaymentMethod(){

                return paymentmethod;

            };


            public PayingCustomer(List<Customer> list, String paymentmethod){

                this.list = list;
                this.paymentmethod = paymentmethod;
                //this.list2 = list2;

            }

            public String toString() {

                return "List of Paying Customers: " + list;

            }
    }

主要的:

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package javaapplication1;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class JavaApplication1 {
    public static void main(String[] args) {


        List<Supplement> supplements = new ArrayList<Supplement>();

        supplements.add(new Supplement("Sports Illustrated Special", 4));
        supplements.add(new Supplement("Health and Nutrition", 2));
        supplements.add(new Supplement("Lifestyled", 5));
        supplements.add(new Supplement("Gamer's Update", 3));

        /*supplements2[0] = new Supplement("Horse Racing", 4);
        supplements2[1] = new Supplement("7 Seven", 2);
        supplements2[2] = new Supplement("Guru of the North", 5);
        supplements2[3] = new Supplement("Electrify", 3);*/


        Magazine magazineobj3 = new Magazine("The Wheels Special", 35, supplements);



        Magazine magazineobj = new Magazine("The Wheels Special", 35, supplements);
        Magazine magazineobj2 = new Magazine("Free your think", 15, supplements);

        List <Customer> customers = new ArrayList<Customer>();
        customers.add(new Customer("Morgan Freeman","morganfman@yahoo.com", magazineobj3));
        customers.add(new Customer("George Bush","gbush21@yahoo.com", magazineobj3));
        customers.add(new Customer("Jamie Carragher","jcarra@yahoo.com", magazineobj3));
        customers.add(new Customer("Sarah Williams","swilliams@yahoo.com", magazineobj3));
        customers.add(new Customer("Nathan Bledsoe","bledsoe@yahoo.com", magazineobj3));
        customers.add(new Customer("Phillip Franklin","pfranky@yahoo.com", magazineobj3));

        List <PayingCustomer> payingCustomers = new ArrayList<PayingCustomer>();



        //System.out.println(magazineobj3);
        //System.out.println(magazineobj2);
        System.out.println(customers);

    }

}

为什么不在Customer class中添加一个字段payingCustomer呢? 并将其设置为 true 仅适用于付费客户。 或者让 PayingCustomer 扩展 Customer class 并为付费客户添加额外的功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM