Java 在方法中使用对象数组

Java 在方法中使用对象数组,java,arrays,string,object,methods,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

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

类别:

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];
    }
}

在exmaple中,变量“objectName”的大小必须与“names”相同(或更大)。 使用“字符串名称”定义要在对象中设置的字段/变量

无论如何,我建议您使用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));
    }
}
公共类ArrayObject{
私有字符串[]名称={“玩家1”,“玩家2”};
/**
*@param args
*/
公共静态void main(字符串[]args){
ArrayList myArrayList=新建ArrayList();
新建ArrayObject().setName(myArrayList);
}
public void setName(ArrayList objectName){
对于(int x=0;x
}


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

我认为您应该特别阅读泛型和有界泛型:

是的,可以这样做。你有什么具体的问题?告诉我们你是如何使用setName方法的…问题在于name,它表明name无法解决或不是一个字段不清楚你想做什么,但是如果你想调用一个方法或访问数组中元素的字段,然后需要一个具有该方法或字段的类型的数组。
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));
    }
}