我有一系列的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