您不能在列表中存儲「說明」。你可以存儲的只有Objects。但對象有方法,你可以調用這些方法:
List<Runnable> list = new ArrayList<>();
list.add(() -> System.out.println("1"));
list.add(() -> System.out.println("2"));
list.add(() -> System.out.println("3"));
for (Runnable r : list) {
r.run();
}
以上是使用lambda表達式,可自從Java 8.但是你可以在以前的版本中使用匿名類來代替:
List<Runnable> list = new ArrayList<>();
list.add(new Runnable() {
@Override
public void run() {
System.out.println("1");
}
});
list.add(new Runnable() {
@Override
public void run() {
System.out.println("2");
}
});
list.add(new Runnable() {
@Override
public void run() {
System.out.println("3");
}
});
for (Runnable r : list) {
r.run();
}
或者你可以定義自己的打印機類:
public class Printer {
private final String toPrint;
public Printer(String toPrint) {
this.toPrint = toPrint;
}
public void print() {
System.out.println(toPrint);
}
}
List<Printer> list = new ArrayList<>();
list.add(new Printer("1"));
list.add(new Printer("2"));
list.add(new Printer("3"));
for (Printer p : list) {
p.print();
}
你的代碼絕對不是Java(也許你的意思是JavaScript的?) – msrd0 2014-10-19 10:40:59