我有一系列的String[]数组,这些数组是单词列表。就像是:

String[] ListOne = new String[100];
String[] ListTwo = new String[100];
/*And so on with other lists */

ListOne[0] = "word00";
ListOne[1] = "word01";
/*And so on till*/
ListLast[99] = "word 99 from last list";


现在,我想为每个列表提供一个函数,给定一个数字,返回对应的元素(单词):

public String GetFromListOne(int key) { return ListOne[key];}


有没有一种方法可以避免手动编写每个此getter函数?

例如,在PHP中,我只会使用魔术方法__call
或作为带有列表名称的参数传递并动态引用它。

有没有办法在Java中做类似的事情?
还是获得相同结果的替代策略?

最佳答案

您应该研究继承。

您基本上必须做的是定义一个接口(或扩展List类)

 public interface ListTest{
//**Gets keys from lists*//
GetFromListOne(int key);
}


然后

public class Listone implements ListTest{

/** methods **//
GetFromListOne(int key);
/** methods **//
}


玩得开心扩展

http://docs.oracle.com/javase/tutorial/java/IandI/createinterface.html

09-27 10:42