Java 如何将项(作为第一项)添加到arrayList
在我的应用程序中,我希望向arrayList添加一些值,并且我希望添加的项将是arrayList的第一项。我使用这个代码Java 如何将项(作为第一项)添加到arrayList,java,android,Java,Android,在我的应用程序中,我希望向arrayList添加一些值,并且我希望添加的项将是arrayList的第一项。我使用这个代码 Sphere[] spheres = new ObjectMapper().readValue(response.getJSONArray("data").toString(),Sphere[].class); mSphereList = Arrays.asList(spheres); Sphere sphere
Sphere[] spheres = new ObjectMapper().readValue(response.getJSONArray("data").toString(),Sphere[].class);
mSphereList = Arrays.asList(spheres);
Sphere sphere = new Sphere();
sphere.setId(0);
sphere.setTitle("All");
mSphereList.add(0,sphere);
mListView.setAdapter(new CategoryAdapter(CategoryActivity.this,mSphereList));
当我运行应用程序时,出现异常
ERROR/AndroidRuntime(25878): FATAL EXCEPTION: main
java.lang.UnsupportedOperationException
at java.util.AbstractList.add(AbstractList.java:404)
我在这里做错了什么。你能告诉我一个好的解决方法吗?你可以在指定的索引处添加
list.add(1, object1)
list.add(2, object3)
list.add(2, object2)
您可以在指定的索引处添加
list.add(1, object1)
list.add(2, object3)
list.add(2, object2)
Arrays.asList不返回ArrayList。它返回一个固定大小的列表,由原始数组作为支持
您必须创建一个真正的ArrayList:
mSphereList = new ArrayList<>(Arrays.asList(spheres));
Arrays.asList不返回ArrayList。它返回一个固定大小的列表,由原始数组作为支持
您必须创建一个真正的ArrayList:
mSphereList = new ArrayList<>(Arrays.asList(spheres));
将返回一个固定大小的列表,这就是添加失败的原因。您需要使用:
mSphereList = new ArrayList<>(Arrays.asList(spheres));
将返回一个固定大小的列表,这就是添加失败的原因。您需要使用:
mSphereList = new ArrayList<>(Arrays.asList(spheres));
感谢您的回答,但我知道这一点,但我希望在Array.asList方法之后添加项。感谢您的回答,但我知道这一点,但我希望在Array.asList方法之后添加项。