有没有办法创建一个标签,所以当编译器运行时,它会用java中的语句替换该标签

时间:2012-12-04 14:21:20

标签: java

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

1 个答案:

答案 0 :(得分:1)

你不能用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();
  }
}