首页 > 解决方案 > 在 ArrayList 中执行命令

问题描述

通常,我会执行以下操作:

System.out.println("Title DVD 1: " + dvd1.getTitle());
System.out.println("Title DVD 2: " + dvd2.getTitle());

然后我会得到 DVD 1 和 DVD 2 的标题。如果我想打印 100 个 DVD 标题,显然我需要很多

System.out.println.

我设法在 ArrayList 中获取这些System.out.println,如下所示:

ArrayList<String> displayDVDList = new ArrayList<String>();

for ( int i = 0; i <= 22; i++) {
    displayDVDList.add("System.out.println(\"Title DVD " + i + " : \" 
        + dvd" + i + ".getTitle());");
    System.out.println(displayDVDList.get(i) + " ");
}

但是,我无法执行那些System.out.println来显示标题。因此,如何执行恰好是System.out.println命令的 ArrayList 的值?

任何帮助深表感谢。谢谢你。

标签: javaarraylist

解决方案


假设dvd1and的类型是带有该方法dvd2的类,您的代码可能如下所示,其中列表的元素不是值,而是对象。DvdgetTitle()StringDvd

// Build list of DVDs
Random random = new Random();
ArrayList<Dvd> displayDVDList = new ArrayList<>();
for (int i = 0; i <= 22; i++) {
    String dvdTitle = "DVD #" + (random.nextInt(1000) + 1);
    displayDVDList.add(new Dvd(dvdTitle));
}

// Print list of DVDs
for (int i = 0; i < displayDVDList.size(); i++) {
    Dvd dvd = displayDVDList.get(i);
    System.out.println("Title DVD " + (i + 1) + ": " + dvd.getTitle());
}

推荐阅读