[英]How to edit elements in array of class type in java?
如何编辑类类型数组中的单个元素。 例如,如何为元素1分配名称和描述?
Object [] myArray = new Object7; 对象myObject = myArray [5]; //在索引5处获取对象,然后对您的对象进行更改
创建数组:
type[] arrayName = new type[size];
例:
int[] someNumbers = new int[10]; // array with 10 slots
要获取元素,只需使用arrayName[index]
。 数组是从0-based
,因此第5个元素的获取是由someNumbers[4]
。
假设我们有一个“人员”数组,您想更改一个人员地址。
Person personObj = arrayOfPersons[3]; // get the 4th person
personObj.setAddress("New York");
而已! 你完成了!
附加说明:如果尝试访问数组外部的元素(使用负索引或大于或等于数组长度的索引),则将获得ArrayIndexOutOfBoundsException
。
您是否要向此类添加其他属性?
我想你有一个数组
String[] data = new String[]{"a", "b", "c"}
要添加其他属性,可以尝试创建包装器:
class Wrapper<T> {
private T origin
public String name;
public String desc
public Wrapper(T data) {
origin = data;
}
}
要添加其他属性:
Map<String, Wrapper> extraProperties = new HashMap<String, Wrapper>();
Wrapper<String> w = new Wrapper<String>(data[1]);
w.name = "a name";
w.desc = "description"
extraProperties.put(data[1], w);
要访问其他属性:
if(extraProperties.contains(data[1])) {
extraProperties.get(data[1]).name
extraProperties.get(data[1]).desc
}
如何为元素1分配名称和描述?
这取决于您的班级,但这是一个(不好的)例子:
YourClass[] array = .... ; // wherever it comes from
array[1].name = "World"; // if name is a member of your class
array[1].setDescription("whatever"); // if there is a setter for description
请注意,元素1是数组的第二个元素,因为indes以0开头。
例如,这里的object
是Car
类型的class
。 并且您的Car object
具有一个名为setNumberPlate(String x)
的方法,该方法类似于:
void setNumberPlate (String str)
{
//numberPlate is a String data member of your Car class
numberPlate = str;
}
你需要有一个方法的原因是因为它是一个很好的做法,让您的数据成员class
private
。 例如,这是类:
Class Car
{
private String numberPlate;
public void setNumberPlate(String str)
{
numberPlate = str;
}
}
然后,您可以在另一个类中访问此方法。 如果将对象存储在array
,那么这就是您要做的。
Car[] arr = new Car[10];
arr[0].setNumberPlate("UIA9490");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.