private List<RolePermission> permissionList = new ArrayList<RolePermission>();
ListIterator<RolePermission> iterator = permissionList.listIterator();
permissionList.remove(iterator.next().getRolePermissionName().contains("http"));
我想从列表中删除包含术语“http”的项目。但是这段代码不起作用。
答案 0 :(得分:5)
您需要使用iterator.remove();
while (iterator.hasNext())
{
if (iterator.next().getRolePermissionName().contains("http"))
iterator.remove();
}
答案 1 :(得分:1)
方法List#remove(java.lang.Object)不适用于boolean
类型(自动装箱到Boolean
),contains()
返回的类型。抛出ClassCastException
。
您可以尝试使用迭代器删除它:
private List<RolePermission> permissionList = new ArrayList<RolePermission>();
ListIterator<RolePermission> iterator = permissionList.listIterator();
RolePermission rp = iterator.next();
if(rp.getRolePermissionName().contains("http")) {
iterator.remove();
}