Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将Lombok@Data类作为公共函数中的参数传递_Java - Fatal编程技术网

Java 将Lombok@Data类作为公共函数中的参数传递

Java 将Lombok@Data类作为公共函数中的参数传递,java,Java,我根据操作的需要定义了许多数据类,例如高级需求的dataformsdforadvancerequest。每个数据类如下所示: @Data class DataForMSDForAdvanceReqeust implements Serializable { private final String id; private final String advanceRequestValue; private final String advanceRequestShowTex

我根据操作的需要定义了许多数据类,例如高级需求的
dataformsdforadvancerequest
。每个数据类如下所示:

@Data
class DataForMSDForAdvanceReqeust implements Serializable {
    private final String id;
    private final String advanceRequestValue;
    private final String advanceRequestShowText;

    public DataForMSDForAdvanceReqeust(String id, String advanceRequestValue, String advanceRequestShowText) {
        this.id = id;
        this.advanceRequestValue = advanceRequestValue;
        this.advanceRequestShowText = advanceRequestShowText;
    }
}
然后在下面的函数中,我将使用上面的函数创建返回值,如
List result=new ArrayList()和以下代码中的其他地方:

@ResponseBody
@RequestMapping(value = "/fetchDataMSDForAdvanceRequest", method = RequestMethod.POST)
public List<DataForMSDForAdvanceReqeust> fetchDataMSDForAdvanceRequest(
        @RequestBody @NonNull MasterSearchRequestParam param) {

    SearchFilterForAdvanceRequestVo searchFilter = SearchFilterForAdvanceRequestVo.of(new HashMap<>());
    List<MasterSearchSimpleResult> tmp = new ArrayList<>();
    tmp = availableAdvanceRequestSearchService.dbsearch(true, searchFilter);

    List<DataForMSDForAdvanceReqeust> result = new ArrayList<>();
    int count = 0;
    String inputString = param.getInputKeyword();
    if (inputString.length() != 0) {
        for (MasterSearchSimpleResult searchR : tmp) {
            if (searchR.getShowText().contains(inputString)) {
                result.add(new DataForMSDForAdvanceReqeust(Integer.toString(++count), searchR.getValue(), searchR
                        .getShowText()));
            }
        }
    } else {
        for (MasterSearchSimpleResult searchR : tmp) {
            result.add(new DataForMSDForAdvanceReqeust(Integer.toString(++count), searchR.getValue(), searchR
                    .getShowText()));
        }
    }
    return result;
}
我想写一个函数,它将把
dataformsdforadvancerequest
作为参数,因为有许多不同的@Data类可用。它看起来像一个泛型类,但如果使用它,我不确定如何实现它。如果可能的话,我也在寻找其他方法


您知道如何将数据类作为另一个函数的参数传递吗

@Data
来自哪个包?Lombok?@Michael你是对的在这种情况下,@Data对象之间唯一的共同点是它们都是具有各种getter和setter的对象。无法使用泛型根据类的注释约束类。注释是元数据。你可以考虑使用A。
    List<DataForMSDForAdvanceReqeust> result = new ArrayList<>();
    int count = 0;
    String inputString = param.getInputKeyword();
    if (inputString.length() != 0) {
        for (MasterSearchSimpleResult searchR : tmp) {
            if (searchR.getShowText().contains(inputString)) {
                result.add(new DataForMSDForAdvanceReqeust(Integer.toString(++count), searchR.getValue(), searchR
                        .getShowText()));
            }
        }
    } else {
        for (MasterSearchSimpleResult searchR : tmp) {
            result.add(new DataForMSDForAdvanceReqeust(Integer.toString(++count), searchR.getValue(), searchR
                    .getShowText()));
        }
    }
    return result;