Java 如何显示对象的arraylist?

Java 如何显示对象的arraylist?,java,arraylist,Java,Arraylist,我编写了一段代码,从txt文件中提取一行,将其拆分为不同的字符串和整数,然后将其作为名为professor的对象存储到数组列表中。主类的代码如下所示: public class Main { public static void main(String[] args) throws IOException { FileReader file = new FileReader("text.txt"); BufferedReader reader = new

我编写了一段代码,从txt文件中提取一行,将其拆分为不同的字符串和整数,然后将其作为名为professor的对象存储到数组列表中。主类的代码如下所示:

public class Main {

    public static void main(String[] args) throws IOException {
        FileReader file = new FileReader("text.txt");
        BufferedReader reader = new BufferedReader(file);
        ArrayList<Profesor>professors = new ArrayList<Profesor>();
        String line = reader.readLine();
        String[] lineSplit = new String[11];

        while(line != null){
            lineSplit = line.split("\\s+");
            professors.add(new Profesor(lineSplit[0], lineSplit[1], Integer.parseInt(lineSplit[2]), Integer.parseInt(lineSplit[3]), Integer.parseInt(lineSplit[4]), Integer.parseInt(lineSplit[5]), Integer.parseInt(lineSplit[6]), Integer.parseInt(lineSplit[7]), Integer.parseInt(lineSplit[8]), Integer.parseInt(lineSplit[9]), Integer.parseInt(lineSplit[10]), Integer.parseInt(lineSplit[11])));                     
        }

    }

}
txt文件类似于:

Jhon Maths 173 486 789 954 684 235 446 168 749 851   
Robert MathsII 283 686 948 978 144 224 473 468 778 845
问题是如何在控制台中显示arraylist? 如何访问arraylist中某个对象内的字符串?
提前感谢

您可以对每个
ArrayList
使用
get()
方法。因此,键入
Professor.get(0)
将返回第一个
Professor
对象

不仅如此,一旦获得该对象,还需要创建名为
getName
getObject
的对象。这是因为你的变量是私有的,教授之外的一个类正试图访问这个私有变量

它看起来像这样:

public String getName() {
    return name;
}
一旦你在
Professor
类中有了这个方法,你就可以通过调用

Profesor p = professors.get(0);   // returns the first Profesor inside professors ArrayList
String professorName = p.getName();   // returns the name variable of the above professor
有关
ArrayList
的更多信息,请访问:


问题是:当您试图打印对象时,Java通过调用对象的
toString()
函数来确定要打印什么。因此,您需要告诉Java,通过在Professor对象中实现该特定函数:

public String toString()
{
    return name + subject + Arrays.toString(wh); 
    // put all those wh numbers into an array!

}
此函数返回以下形式的字符串:

Jhon math 173[48678954684235446168749851]
这是Java打印出来的


现在,您可以遍历教授的
ArrayList
,只需
System.out.println
就可以了。

您听说过数组吗?!数组不起作用,因为我不知道txt文件上的行数,你必须为数组设置一个大小,我的意思是,为什么
Professor
的构造函数以10个整数作为输入..搜索Professor类应该覆盖的
toString()
方法。另外,所有这些数字都应该存储在他们自己的数组列表或教授课堂的数组字段中。我现在明白你的意思了。lol没有想到我会编辑它,所以没有回答我关于如何显示数组列表的问题。谢谢,这真是太棒了helpfull@user5481536很乐意帮忙:)
public String toString()
{
    return name + subject + Arrays.toString(wh); 
    // put all those wh numbers into an array!

}