[英]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.