javaarraysoopgetter

Is there a way to avoid manually writing each of this getter functions?


I have a series of String[] arrays which are list of words. Something like:

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";

Now, I want a function for each list that, given a number returns the corresponding element (word):

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

Is there a way to avoid manually writing each of this getter functions?

In PHP, for example, I would just use the magic method __call,
or pass as an argument with the list name and reference it dynamically.

Is there a way to do something similar in Java?
Or an alternative strategy to achieve the same result?


Solution

  • You should look into inheritance.

    What you basically must do is define an interface (or extend a List class)

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

    then

    public class Listone implements ListTest{
    
    /** methods **//
    GetFromListOne(int key);
    /** methods **//
    }
    

    Have fun extending

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