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;