如何编辑类类型数组中的单个元素。例如,如何为元素 1 分配名称和描述?
5 回答
创建数组:
type[] arrayName = new type[size];
例子:
int[] someNumbers = new int[10]; // array with 10 slots
要获取元素,只需使用arrayName[index]
. 数组是0-based
,因此获取第 5 个元素由someNumbers[4]
.
假设我们有一个 Persons 数组,并且您想要更改人员地址。
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 是数组的第二个元素,因为索引从 0 开始。
例如,您的此处object
属于. 你有一个名为的方法,类似于:class
Car
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");
对象[] myArray = new Object7; 对象 myObject = myArray[5]; // 获取索引 5 处的对象,然后对您的对象进行更改