小编Bet*_*ise的帖子

添加到ArrayList时发生NullPointerException [long post]

我正在为类项目创建一个正则表达式解析器,我遇到了一个我无法弄清楚如何修复的问题.每当遇到带括号的组时,都应该在groupsArrayList中添加一个占位符,然后可以从String中捕获一个组.问题是它每次尝试添加到此ArrayList时都会抛出NullPointerException.这是Segment构造函数,发生这种情况:

public Segment(String value, boolean capture) throws ParseException {
    values = new ArrayList<>();
    parse(value);
    minimum = 1;
    maximum = 1;
    matchNot = false;
    captureGroup = capture;
    if (capture) {
        RegexGUI.input.groups.add(""); //error occurs on this line
    }
}
Run Code Online (Sandbox Code Playgroud)

注意,RegexGUI.input指的是Regex构造函数所在的相关实例:

public Regex(String value) throws ParseException {
    this.value = value;
    segments = new ArrayList<>();
    groups = new ArrayList<>();
    anchorStart = false;
    anchorEnd = false;
    tokenize(value, true, false);
}
Run Code Online (Sandbox Code Playgroud)

如您所见,groups在构造函数中显然已初始化.此外,Segment构造函数仅在类的tokenize()方法中调用 …

java arraylist nullpointerexception

0
推荐指数
1
解决办法
113
查看次数

标签 统计

arraylist ×1

java ×1

nullpointerexception ×1