使用构造函数从泛型列表中删除基于类的项,可以按照以下步骤进行:
instanceof
操作符检查每个项是否属于要删除的类型。remove
方法将其从列表中删除。以下是一个示例代码:
import java.util.ArrayList;
import java.util.List;
public class GenericList<T> {
private List<T> items;
public GenericList() {
items = new ArrayList<>();
}
public void removeItemsOfType(Class<?> type) {
for (int i = items.size() - 1; i >= 0; i--) {
T item = items.get(i);
if (type.isInstance(item)) {
items.remove(i);
}
}
}
// 其他操作和方法...
public static void main(String[] args) {
GenericList<Object> list = new GenericList<>();
list.items.add("String");
list.items.add(123);
list.items.add("Another String");
list.items.add(456);
System.out.println("Before removal: " + list.items);
list.removeItemsOfType(String.class);
System.out.println("After removal: " + list.items);
}
}
输出结果:
Before removal: [String, 123, Another String, 456]
After removal: [123, 456]
在这个示例中,我们创建了一个泛型列表GenericList
,并添加了不同类型的项。然后,我们调用removeItemsOfType
方法,传入要删除的类型String.class
。该方法会遍历列表,删除所有属于String
类型的项。最后,我们打印出删除后的列表内容。
请注意,这只是一个示例代码,实际应用中可能需要根据具体情况进行适当的修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云