在一个数组索引中存储多个对象和实例

时间:2014-04-28 21:23:57

标签: java

java中是否可以将多个对象存储在一个数组索引中。例如,作为字符串变量的object1和object2可以由array [1]引用。

String[] text = new String []
text[1]="rabbit" 
text[1]="horse"

所以现在如果我输出文字[1],它会输出两个字符串“兔子”和“马”。

并且一个对象可能引用多个数组索引。例如,说object1 = array [1]和array [2]。

我对第一个例子更感兴趣。如果他们有可能,请你举一个这样的例子。

4 个答案:

答案 0 :(得分:1)

你展示的方式是不可能的。您的示例中的text [1]是对exatcly一个String对象的引用,因此您将使用对另一个String(horse)的引用来覆盖一个引用(对Rabbit)。

在对象[0]中存储两个字符串:

Object[] objects = new Object[]{new String[]{"a","b"}, null, null};

将两个引用存储为数组中的两个连续字段(一个对象引用多个数组索引):

Object o = new String("a");
objects[1] = o;
objects[2] = o;

另一种解决方案:

Object[] text = new Object[]{new ArrayList<String>(), null, null};
text[0].add("rabbit");
text[0].add("horse");

答案 1 :(得分:0)

首先你可以使用2维数组,如[] []数组的字符串数组 第二个你可以做。只是一个信息,一旦你改变它们成为另一个对象,字符串是不可变对象

答案 2 :(得分:0)

不可能在同一索引上有多个对象。第二种可能。

答案 3 :(得分:0)

  

所以现在如果我输出文本[1]它会输出两个字符串&#34; rabbit&#34;和&#34;马&#34;。

这不会起作用,因为StringObject,并且因为java对象引用一次只能保存一个对象的引用,所以它不可能。 因此,text[1]要么引用String字符 rabbit horse

您必须检查您的应用程序/方法设计,并且可以使用其他一些有助于满足您需求的API类,例如ArrayList

List<List<String>> myList = new ArrayList<ArrayList<String>>();
myList.add(new ArrayList<String>());
myList.get(0).add("rabbit");
myList.get(0).add("horse");

您在某个索引中有一个链式字符串列表,您可以通过访问该项来获取它们。