使用字符串在Java中调用方法

时间:2014-11-29 04:01:47

标签: java

这是我自己写的第一批课程之一。我想制作一个物理计算器,其中许多对象可以相互交互,并为用户提供添加更多对象的选项。我的想法是让一个for循环贯穿每个对象,像这样相互拉动。

for(int n=1; n<=totalObjs; n++){
    objName = "object"+n;
    for(int i=1; i<n; i++){
        obj2Name = "object"+i
        objName.getMass();
        //getting mass and position from both
        //calculations here}
   for(int x=n+1; x<=totalObjs; x++){
      //same stuff as in the previous for loop}
}

我知道可能存在巨大的语法错误或逻辑错误,但我想自己对它们进行排序。有什么方法可以用字符串引用对象吗?

1 个答案:

答案 0 :(得分:2)

  

有什么方法可以用字符串引用对象吗?

是的,通过Map<String, SomeType>HashMap<String, SomeType>

将其视为类似于数组或ArrayList,但不是使用数字索引,而是使用字符串索引。

现在看一下你的代码,你可能最好使用一个简单的ArrayList或数组,因为你似乎试图使用数字索引。

如,

// assume a class called GravMass which has Mass, position, and momentum
List<GravMass> gravMassList = new ArrayList<GravMass>();

// fill your list

for(int i = 0; i < gravMassList.size() - 1; i++) {
    GravMass gravMass1 = gravMassList.get(i);
    int mass1 = gravMass1.getMass();
    for(int j = i + 1; j < gravMassList.size(); j++){
        GravMass gravMass2 = gravMassList.get(j);
        int mass2 = gravMass2.getMass();
        //getting mass and position from both
        //calculations here}
    }
}