You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何重写外部Jar包类的方法?OpenCSV继承后@Override失效问题

问题原因

你自定义类中定义的generateHeader()是无参数方法,和父类ColumnPositionMappingStrategy中的generateHeader方法签名不匹配,不属于重写父类方法,因此@Override注解校验失败报错。

父类的generateHeader方法签名如下:

public String[] generateHeader(T bean) throws CsvRequiredFieldEmptyException
修复方案

调整自定义方法的参数、异常声明和父类保持一致即可,建议保留父类原方法的调用,避免父类内部的columnIndexForWriting等状态变量未初始化导致后续写入CSV时字段错位:

class CustomMappingStrategy<T> extends ColumnPositionMappingStrategy<T> {
    private static final String[] HEADER = new String[]{"TradeID", "GWML GUID", "MXML GUID", "GWML File", "MxML File", "MxML Counterparty", "GWML Counterparty"};

    @Override
    public String[] generateHeader(T bean) throws CsvRequiredFieldEmptyException {
        // 调用父类方法完成内部状态初始化,不需要可以根据业务删除
        super.generateHeader(bean);
        return HEADER;
    }
}

内容的提问来源于stack exchange,提问作者Jithin Variyar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 12:54:01