我有一个现有代码,其中写入的行是
private Rule[] ruleList;
规则是 CLASS 。
我想删除ruleList中添加的所有规则。
但是当我点击它时它显示如下
如果是List,我该如何从ruleList中删除这些规则?
由于
答案 0 :(得分:3)
ruleList
是一个数组而不是List
。因此,您将找不到clear
方法。
但你可以使用
Arrays.fill(ruleList, null);
答案 1 :(得分:0)
你有一个数组,而不是一个列表。解决方案:
ruleList = new Rule[ruleList.length];
答案 2 :(得分:0)
要从List
使用clear()
如果要从List
中删除数组中的所有项目,请使用remove方法。
示例强>
public class Rules {
public static void main(String[] args) {
Rule[] rules = new Rule[2];
rules[0] = new Rules.Rule();
rules[1] = new Rules.Rule();
//Scenario 1
List<Rule> ruleList = new ArrayList<Rule>();
ruleList.add(Arrays.asList(rules)); //adds array to list
ruleList.clear(); //removes all items from List
//Scenario2
ruleList.add(Arrays.asList(rules)); //adds array to list
ruleList.remove(Arrays.asList(rules)); //remove all rules in [] form list
//Scenario3
Arrays.fill(rules, null); //removes all elements in array
}
static class Rule{
}
}
确定您使用的是List
还是Array
非常重要。提供的代码描述了一个数组,但是该措辞不断引用List
。
如果您实际拥有List
并想要删除所有元素,请参阅示例中的方案1。
如果您实际拥有List
并希望从List
中删除数组中的所有元素,请参阅示例中的方案2。
如果您确实有数组并想要从数组中删除所有元素,请参阅示例中的方案3。