簡體   English   中英

如何從另一個類訪問這個 ArrayList?

[英]How do I access this ArrayList from another class?

我是java新手,我必須為大學做一個“數組項目”。 我無法從存儲它的 Contacts 類獲取我的 Main 類中的數組。 這就是我現在所做的:

public class Main {
    public static void main(String[] args) {
        // View Contact Testing
        Contacts contactObj = new Contacts();
        System.out.println(contactObj);
    }
}
public class Contacts {
    public static void main(String[] args) {
        ArrayList<String> arr = new ArrayList<String>();
        arr.add("name1");
        arr.add("name2");

        return arr.clone();
    }
}

當我運行這個時,我得到這個錯誤: Error:(11, 25) java: incompatible types: unexpected return value 任何幫助將不勝感激,謝謝

正如其他人所建議的那樣,我還建議您在一些基本的 Java 教程中多學習一點(www 上有幾個)。 但我也理解你的掙扎,並會給你一些例子來說明你如何做到這一點。 跟隨:

主程序

public class Main {

    public static void main(String[] args) {
        Contacts contactObj = new Contacts();
        contactObj.getNames().forEach(System.out::println);

        contactObj.cleanNames();
        contactObj.getNames().forEach(System.out::println);

        contactObj.addName("John");
        contactObj.addName("Maria");

        contactObj.getNames().forEach(System.out::println);
    }
}

聯系人.java

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

public class Contacts {

    private List<String> names;

    //either to help your understanding and for sake of simplicity
    public Contacts() {
        this.names = new ArrayList<String>();
        this.names.add("name1");
        this.names.add("name2");

    }

    //clean the content of names from names List
    public void cleanNames(){
        if (Objects.nonNull(names)) {
            this.names.clear();
        }
    }

    //add a name to list
    public void addName(String name) {
        if (Objects.nonNull(names)) {
            this.names.add(name);
        } else {
            this.names = new ArrayList<>();
            this.names.add(name);
        }
    }

    //set a entire list to names attribute
    public void setNames(List<String> names) {
        this.names = names;
    }

    //get the name attribute
    public List<String> getNames() {
        if (Objects.nonNull(names)) {
            return this.names;
        } else {
            this.names = new ArrayList<>();
            return names;
        }
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM