У меня есть модель данных, как это:Элемент не удаляется из вектора после преобразования из JSON в вектор
public class Person {
String name = "";
Integer id;
public Person() {
name = "";
id = new Integer(0);
}
}
Сначала я создал 2 объекта и добавляемый в векторе. Преобразовал вектор в строку json. После повторной проверки я превратил строку json в вектор. Внутри вектора отображается правильное количество элементов и данных. Но когда я пытаюсь получить позицию одного объекта, он возвращает -1. Даже с помощью vector.remove() Я не могу удалить объект. Если я не конвертирую вектор в строку json, он работает нормально. Ниже мой код:
Gson gson = new Gson();
Vector vecResult = new Vector();
Person person = new Person();
person.name = "ABC";
person.id = new Integer(1001);
vecResult.add(person);
Person person2 = new Person();
person2.name = "DEF";
person2.id = new Integer(1002);
vecResult.add(person2);
String json = gson.toJson(vecResult); //successful
Type token = new TypeToken<Vector<Person>>() {}.getType();
Vector<Person> vecResults = gson.fromJson(json3, token); //vecResults got 2 objects
int pos = vecResults.indexOf(person); //returning -1
boolean isRemoved = vecResults.remove(person); // returning false