我只有以下类结构,我想添加任何项目。
public class Person implements Serializable {
private String name;
private String mobile;
public Person(String n, String e) { name = n; mobile = e; }
public String getName() { return name; }
public String getMobile() { return mobile; }
@Override
public String toString() { return name; }
}
我想添加任何类似的项目:
people = new Person[]{
new Person("Hi" , " programmer"),
new Person("Hello", " world")
};
我的代码是这样的,我希望通过while()
将代码添加到代码中。我的代码不正确。
people = new Person[]{};
while (phones.moveToNext())
{
people = new Person("Hi" , " programmer");
people = new Person("Hello", " world")
}
答案 0 :(得分:1)
你的源代码中有错误,你试图把人的对象放入数组中,这样就会给你编译错误 为了克服这个问题首先采用List of Type Person并将其转换为数组并在Array上执行业务逻辑更好地使用List而不是Array
List<Person> personlst = new ArrayList<Person>();
while (phones.moveToNext())
{
personlst.add(new Person("Hi" , " programmer"));
personlst.add(new Person("Hello", " world"));
}
Object[]arryPer = personlst.toArray();
Person[]people = new Person[arryPer.length];
for (int j = 0; j < arryPer.length; j++) {
people[j] = (Person) arryPer[j];
}
上面的代码块给出了类型人的数组
答案 1 :(得分:0)
您没有定义要推入阵列的元素数量。此外,您甚至没有将这些元素制作成阵列。你应该做点什么:
int i =0;
people = new Person[1000];// you need to define how many elements you need here or go for list
while (phones.moveToNext())
{
people[i++] = new Person("Hi" , " programmer");
people[i++] = new Person("Hello", " world")
}
答案 2 :(得分:0)
首先定义人物的大小。
人[]人=新人[10];
然后以迭代为例。
for(int i = 0; i < 0; i++){
people[i] = new Person("Hi" , " programmer");
}
答案 3 :(得分:0)
首先将所有元素放在列表中,然后形成数组:
List<Person> list = new ArrayList<Person>();
while (phones.moveToNext()) {
list.add(new Person("Hi", " programmer"));
list.add(new Person("Hello", " world"));
}
Person[] persons = new Person[list.size()];
list.toArray(persons);
}
答案 4 :(得分:0)
尝试Arrays.asList
http://www.tutorialspoint.com/java/util/arrays_aslist.html
注意 - 它仅适用于少量元素,因为数组通常会占用连续的内存。
正如人们上面所说,从空间的角度来看,列表是任何一天都更好。