代码如下:
public EventData clone() { EventData data = new EventData(); data.setTableId(tableId); data.setTableName(tableName); data.setSchemaName(schemaName); data.setDdlSchemaName(ddlSchemaName); data.setEventType(eventType); data.setExecuteTime(executeTime); data.setKeys(cloneColumn(keys)); data.setColumns(cloneColumn(columns)); data.setOldKeys(cloneColumn(oldKeys)); data.setSize(size); data.setPairId(pairId); data.setSql(sql); data.setSyncMode(syncMode); data.setSyncConsistency(syncConsistency); data.setRemedy(remedy); data.setHint(hint); data.setWithoutSchema(withoutSchema); return null; }
原提问者GitHub用户 melonboy312
根据你提供的代码来看,clone
方法的最后一行没有正确地返回 data
对象,而是返回了一个 null
值,这会导致 clone
方法始终返回 null
。因此,建议将return null;
修改为return data;
。
修改后的代码如下:
public EventData clone() {
EventData data = new EventData();
data.setTableId(tableId);
data.setTableName(tableName);
data.setSchemaName(schemaName);
data.setDdlSchemaName(ddlSchemaName);
data.setEventType(eventType);
data.setExecuteTime(executeTime);
data.setKeys(cloneColumn(keys));
data.setColumns(cloneColumn(columns));
data.setOldKeys(cloneColumn(oldKeys));
data.setSize(size);
data.setPairId(pairId);
data.setSql(sql);
data.setSyncMode(syncMode);
data.setSyncConsistency(syncConsistency);
data.setRemedy(remedy);
data.setHint(hint);
data.setWithoutSchema(withoutSchema);
return data;
}
这样修改后,clone
方法应该会正确地返回一个 EventData
对象的克隆。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。