对不起,措辞不好。我有一个String数组列表,每个索引对应一个类别。例如list.get(i)[1]将始终保留一个名称。我要在代码中输入NAME,然后在编译时自动用该语句替换NAME。我敢肯定,我以前看过,但是搜索时找不到任何东西。

最佳答案

您无法在Java中执行此操作。您正在谈论的是Java宏中不存在的C宏。但是,您可以创建一个执行类似操作的包装对象。这是一个例子:

public class MyData {
  private List<String[]> internalData;

  public MyData(List<String[] internalData) {
    this.internalData = internalData;
  }

  public getName(int index) {
    return internalData.get(index)[1];
  }
  public getAddress(int index) {  // For example
    return internalData.get(index)[2];
  }

  // Here, expose any methods of List that you need, such as size()
  // So you can use a for loop correctly
  public int size() {
    return internalData.size();
  }
}

07-24 20:04