开发者社区> 问答> 正文

EventData的clone方法永远返回null?

代码如下:

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

展开
收起
大圣东游 2023-06-21 17:15:12 50 0
2 条回答
写回答
取消 提交回答
  • clone方法一直未使用,已修复

    原回答者GitHub用户agapple

    2023-06-21 18:16:05
    赞同 展开评论 打赏
  • 根据你提供的代码来看,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 对象的克隆。

    2023-06-21 17:25:51
    赞同 展开评论 打赏
问答分类:
SQL
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载