Java 从另一个对象获取数组列表

Java 从另一个对象获取数组列表,java,Java,我现在有点被一项任务困住了,希望你能告诉我哪里出了问题 我正在构建一个简单的iTunes程序,目前正在研究一种方法,让所有音乐人参与某一特定曲目,并将其显示为字符串,例如Frank Black、Joey Santiago、Kim Deal等。该方法需要通过检索艺术家对象内的数组列表并将其显示来工作 但是我的get方法有问题。我知道我应该实现一个get方法,以便Track对象可以访问Artist对象中的字段,但是我尝试过的所有方法都会发送错误消息。到目前为止,我已经尝试过这样一种增强的“for循环

我现在有点被一项任务困住了,希望你能告诉我哪里出了问题

我正在构建一个简单的iTunes程序,目前正在研究一种方法,让所有音乐人参与某一特定曲目,并将其显示为字符串,例如Frank Black、Joey Santiago、Kim Deal等。该方法需要通过检索艺术家对象内的数组列表并将其显示来工作

但是我的get方法有问题。我知道我应该实现一个get方法,以便Track对象可以访问Artist对象中的字段,但是我尝试过的所有方法都会发送错误消息。到目前为止,我已经尝试过这样一种增强的“for循环”:

    for (String member : members.getMembers() ) {
public class Artist {
    private List<String> members;

    // ...

    public List<String> getMembers() {
        return Collections.unmodifiableList(members);
    }
}

public class Track {
    private Artist artist;

    // ...

    public String getMusicians() {
        StringBuilder sb = new StringBuilder();
        int length;

        for (String member : artist.getMembers()) {
            sb.append(member).append(", ");
        }

        return sb.substring(0, sb.length() - 2);
    }
}
其中“members”是一个ArrayList,其中包含每个音乐家姓名的字符串,但它向上发送找不到符号变量成员。然后我试了一下:

    for (String member : Artist.members.getMembers() ) {

但也就是说,不能从静态上下文引用非静态变量成员。我觉得我错过了一些基本的东西。你们有谁知道它可能是什么吗?

如果成员是一个持有字符串的arrayList,那么你们应该这样做

for (String m: members){

}

艺术家是一个类,而不是一个类的实例。通常,艺术家没有任何成员,而约翰·多伊(John Doe)可以有一份成员名单

您需要获得一个艺术家实例才能请求其成员

假设每个曲目都有一个艺术家,并且每个艺术家可能有多个音乐家成员,那么您正在寻找类似以下内容:

    for (String member : members.getMembers() ) {
public class Artist {
    private List<String> members;

    // ...

    public List<String> getMembers() {
        return Collections.unmodifiableList(members);
    }
}

public class Track {
    private Artist artist;

    // ...

    public String getMusicians() {
        StringBuilder sb = new StringBuilder();
        int length;

        for (String member : artist.getMembers()) {
            sb.append(member).append(", ");
        }

        return sb.substring(0, sb.length() - 2);
    }
}

首先需要实例化一个艺术家对象,然后迭代包含艺术家的ArrayList

class Artist {
    private List<String> artists;
    ...
    public List<String> getArtists() { 
        return artists; 
    }
    ...
}

你能发布你的主类和艺术家类吗?你能告诉我们你在哪里尝试这样做吗?你能告诉我们你是如何声明成员ArrayList的吗。你用了static关键字吗?请再添加一点代码:是的,如果您像这样访问它,那么它应该是公共的,否则您需要访问器方法