据我在任何地方都读过,您无法在 Java 中创建具有动态名称的变量,因此我将解释该问题以查看是否有替代方法。我的问题是我必须解析一个包含英文法律的长文本,它有一个层次结构:
它是这样划分的:
图书
----章节
--------文章或
图书
----标题
--------章节
-------------文章或
图书
----标题
--------章节
-------------部分
-----------------文章
如您所知,它取决于情况,结构必须有所不同。信息必须取自如下文件:
第一卷:第一卷名称 第一卷:第一卷名称 第 1 章:第 1 章名称 第 1 条:第 1 条名称 第 2 条:第 2 条名称 第 2 章:第 2 章名称 第 1 条:第 1 条名称 条3:第 3 条的名称 标题 2:……第 1 章:……第 2 册:…………第 3 册
所以你明白了,文本可能包含随机的分类,它不像首先是所有章节,然后是所有文章等等。
为此提出的实施方案是:
public class Book {
private int id;
private List<Chapter> chapters;
private List<Title> titles;
// getters/setters/constructor
}
public class Chapter {
private int id;
private List<Section> section;
private List<Article> articles;
// getters/setters/constructor
}
public class Title {
private int id;
private List<Chapter> chapters;
// getters/setters/constructor
}
public class Section {
private int id;
private List<Article> articles;
// getters/setters/constructor
}
问题是必须以动态方式创建列表。这是当解析器说我需要书号 n 中的新章节列表时,我必须创建它。
我怎样才能做到这一点?
提前致谢