java中是否可以将多个对象存储在一个数组索引中。例如,作为字符串变量的object1和object2可以由array [1]引用。
String[] text = new String []
text[1]="rabbit"
text[1]="horse"
所以现在如果我输出文字[1],它会输出两个字符串“兔子”和“马”。
并且一个对象可能引用多个数组索引。例如,说object1 = array [1]和array [2]。
我对第一个例子更感兴趣。如果他们有可能,请你举一个这样的例子。
答案 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;。
这不会起作用,因为String
是Object
,并且因为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");
您在某个索引中有一个链式字符串列表,您可以通过访问该项来获取它们。