Deb*_*ash 5 java arrays json gson
com.google.gson.JsonArray有add方法将添加元素。如果要在特定索引处添加,该怎么做?
我尝试使用这种代码在第0个索引处添加元素。我正在寻找更好的东西而不实例化一个新的JsonArray。
JsonArray newArray = new JsonArray();
newArray.add(new JsonPrimitive(3));
for (int i = 0; i < myArray.size(); i++) {
newArray.add(myArray.get(i));
}
Run Code Online (Sandbox Code Playgroud)
由于JsonArray没有插入方法,这意味着您必须自己制作。它会在您选择的点在数组中插入一个项目。
public static JsonArray insert(int index, JsonElement val, JsonArray currentArray) {
JsonArray newArray = new JsonArray();
for (int i = 0; i < index; i++) {
newArray.add(currentArray.get(i));
}
newArray.add(val);
for (int i = index; i < currentArray.size(); i++) {
newArray.add(currentArray.get(i));
}
return newArray;
}
Run Code Online (Sandbox Code Playgroud)
因此,使用此方法,将新项0插入位置0处的现有数组[1、2、3]中:
insert(0, new JsonPrimitive(0), myArray);
Run Code Online (Sandbox Code Playgroud)
在不更改原始数组的情况下,该方法将返回新数组[0,1,2,3]。希望有帮助!
我认为您正在寻找类似的东西,您可以使用下面提到的方法替换特定索引处的现有 JsonElement。
JsonElement set(int index, JsonElement element) 将此数组中指定位置的元素替换为指定元素。
以供参考:
| 归档时间: |
|
| 查看次数: |
904 次 |
| 最近记录: |