使用泛型来提取特定类型的所有值可以通过以下步骤实现:
以下是一个示例代码,演示如何使用泛型提取特定类型的所有值:
import java.util.ArrayList;
import java.util.List;
public class GenericExample {
public static <T> List<T> extractValuesOfType(T[] inputArray, Class<T> targetType) {
List<T> result = new ArrayList<>();
for (T element : inputArray) {
if (targetType.isInstance(element)) {
result.add(element);
}
}
return result;
}
public static void main(String[] args) {
Integer[] numbers = {1, 2, 3, 4, 5};
List<Integer> extractedNumbers = extractValuesOfType(numbers, Integer.class);
System.out.println(extractedNumbers); // 输出: [1, 2, 3, 4, 5]
Object[] mixedValues = {1, "two", 3.0, "four", 5};
List<String> extractedStrings = extractValuesOfType(mixedValues, String.class);
System.out.println(extractedStrings); // 输出: [two, four]
}
}
在上述示例中,extractValuesOfType
方法接受一个泛型数组 inputArray
和一个目标类型 targetType
。通过遍历 inputArray
,使用 isInstance
方法检查每个元素的类型是否与 targetType
匹配,如果匹配成功,则将该元素添加到结果列表 result
中。最后,返回结果列表。
这种使用泛型提取特定类型值的方法适用于需要从一个集合中过滤出特定类型元素的场景,例如从一个混合类型的列表中提取出所有的字符串值。
腾讯云相关产品和产品介绍链接地址:
请注意,以上仅为示例产品,实际应根据具体需求选择适合的腾讯云产品。
领取专属 10元无门槛券
手把手带您无忧上云