0

如何编辑类类型数组中的单个元素。例如,如何为元素 1 分配名称和描述?

4

5 回答 5

0

创建数组:

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如果您尝试访问数组外部的元素(使用负索引或大于或等于数组长度的索引),您将得到一个。

于 2013-10-13T12:44:07.497 回答
0

你的意思是向这个类添加额外的属性吗?

我想你有一个数组

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
}
于 2013-10-13T12:46:49.173 回答
0

如何为元素 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 开始。

于 2013-10-13T12:48:20.910 回答
0

例如,您的此处object属于. 你有一个名为的方法,类似于:classCarCar objectsetNumberPlate(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");

于 2013-10-13T12:59:06.893 回答
0

对象[] myArray = new Object7; 对象 myObject = myArray[5]; // 获取索引 5 处的对象,然后对您的对象进行更改

于 2013-10-13T12:32:54.113 回答