我是来自JavaScript的Java新手。修改存储在ArrayList中的对象的属性
如果我有一个ArrayList对象,我该如何修改ArrayList中的对象属性的值。
我已经试过ArrayList.set(index, value)
,而是因为我有一个对象,错误被显示为说value is int expected com.package.object
arraylist.set(arraylist.get(0).position[1], ???);
我是来自JavaScript的Java新手。修改存储在ArrayList中的对象的属性
如果我有一个ArrayList对象,我该如何修改ArrayList中的对象属性的值。
我已经试过ArrayList.set(index, value)
,而是因为我有一个对象,错误被显示为说value is int expected com.package.object
arraylist.set(arraylist.get(0).position[1], ???);
arraylist.get(0).position[1] = newvalue
就是这么简单。
更好是添加null检查(假定位置是一个整数阵列)
/**
* position: where in the arraylist to store.
* newvalue: the value to set
*/
public void setPositionValue(int position, int newvalue) {
/** check if valid arraylist index **/
if(position < this.arraylist.size()) {
MyObject myobject = this.arraylist.get(position);
/** check if we got something valid back **/
if(myobject != null) {
/** check if array is set and length is valid **/
if(myobject.position != null && myobject.position.length > 1) {
myobject.position[1] = newvalue;
}
}
}
}
此外,请您的ArrayList在一个特定的类型。
现在problay定义:
Arraylist arraylist = new ArrayList();
然后你有一个 '包罗万象' 的ArrayList,什么事情都可能是在那里。这不是优选的。你想知道你在处理什么!
那么好做:
ArrayList<MyObject> arraylist = new ArrayList<MyObject>();
通过将<MyObject>
那里,你说的对ArrayList中,只接受并返回实例为MyObject的对象或从
真棒回答, 非常感谢你! :) – Squishy47
Youre new here。如果此答案是针对您的问题的最佳解决方案,请考虑点击复选标记以接受答案 – Tschallacka
得出什么'的ArrayList类型'? (你在存储什么元素?)你是试图在ArrayList的位置0设置一个新的值,还是修改存储在该位置的当前值? – Eran