Как я могу сравнить, если два GenericRecord одинаковы или нет.
В моем сценарии я хочу сравнить, если одна запись generi c равна другой записи generi c .
Если я использую метод equals, я думаю, что он сравнивает адрес памяти, а не фактические данные.
if(record1.equals(record2){
}
В моем сценарии есть сложная схема с вложенным объектом, мы можем сравнить generi c Запись?
Я хочу написать в Java функцию, которая принимает старую запись с двумя аргументами, новая запись возвращает true, если две записи совпадают.
public boolean isSame(GenericRecord oldRecord, GenericRecord newRecord) {}
Пример схемы:
{
"type" : "record",
"name" : "userInfo",
"namespace" : "my.example",
"fields" : [{"name" : "username",
"type" : "string",
"default" : "NONE"},
{"name" : "age",
"type" : "int",
"default" : -1},
{"name" : "phone",
"type" : "string",
"default" : "NONE"},
{"name" : "housenum",
"type" : "string",
"default" : "NONE"},
{"name" : "address",
"type" : {
"type" : "record",
"name" : "mailing_address",
"fields" : [
{"name" : "street",
"type" : "string",
"default" : "NONE"},
{"name" : "city",
"type" : "string",
"default" : "NONE"},
{"name" : "state_prov",
"type" : "string",
"default" : "NONE"},
{"name" : "country",
"type" : "string",
"default" : "NONE"},
{"name" : "zip",
"type" : "string",
"default" : "NONE"}
]},
"default" : {}
}
]
}