需求需要合并两个不同类型的列表list,通过前端传的type获取不同的list,java需要怎么写
时间: 2024-12-17 12:23:43 浏览: 7
在Java中,你可以创建一个方法来处理这个需求,使用泛型(Generics)来适应不同类型的数据。这里是一个简单的示例:
```java
import java.util.ArrayList;
import java.util.List;
public class ListMerger {
public static <T> List<T> mergeLists(String type, List<? extends T> list1, List<? extends T> list2) {
// 根据type获取对应的list
switch (type) {
case "type1":
return new ArrayList<>(list1); // 如果type1是一个已知的具体类型,直接返回
case "type2":
return new ArrayList<>(list2); // 类似地,如果type2是已知类型,返回list2
default:
throw new IllegalArgumentException("Invalid type: " + type);
}
}
// 调用方法示例
public static void main(String[] args) {
List<String> stringList1 = new ArrayList<>();
List<Integer> integerList2 = new ArrayList<>();
String type = "type1"; // 假设前端传入的是string类型
List<String> mergedList = mergeLists(type, stringList1, null); // 如果list2为空或者不需要合并,则可以设置为null
System.out.println(mergedList); // 输出合并后的字符串列表
}
}
```
在这个例子中,`mergeLists`方法接受一个字符串`type`和两个类型相同的列表作为参数。它会根据`type`的值选择返回其中一个列表。如果`type`不是预定义的类型,那么会抛出异常。
阅读全文