在方法内使用对象数组

时间:2014-04-07 06:48:01

标签: java arrays string object methods

我知道错误是什么。我想知道是否有可能做这样的事情。 (基本上寻找另一种方法,但实际上是正确的。)

类别:

private String[] names = {"Player 1", "Player 2"};

public void setName(Object[] objectName, String name)
    for(int x = 0; x < objectName.length; x++){
        //Problem is below here, "name can not be resolved or is not a field" is doing something like this not possible?
        objectName[x].name = names[x];
    }
}

编辑以展示如何使用它。

第2课:

Public static void methodName(){
    String name;
    ClassName2[] c2 = new ClassName2[2];
    c2[0] = new ClassName2();  
    c2[1] = new ClassName2();
    c2[0].setName(c2, name);
}

2 个答案:

答案 0 :(得分:0)

在你的例子中,变量“objectName”必须具有相同的大小(或更大),如“names”。 使用“String name”,您想要定义要在对象中设置的字段/变量吗?

无论如何,我建议你使用ArrayList,看看例子:

public class ArrayObject {

private String[] names = {"Player 1", "Player 2"};

/**
 * @param args
 */
public static void main(String[] args) {
    ArrayList<String> myArrayList = new ArrayList<String>();
    new ArrayObject().setName(myArrayList);
}

public void setName(ArrayList<String> objectName) {
    for(int x = 0; x < names.length; x++) {
        objectName.add(names[x]);
    }

    // Testoutput
    for(int x = 0; x < objectName.size() ; x++) {
        System.out.println(objectName.get(x));
    }
}

}

ArrayList是一个动态数组,您可以在其中添加任意数量的对象,读取它们并删除其中的任何对象。

答案 1 :(得分:0)

我认为你应该特别阅读有关泛型和有界泛型的泛型:http://docs.oracle.com/javase/tutorial/java/generics/bounded.html