gpt4 book ai didi

JavaParser - ArrayList 无法正确识别

转载 作者:行者123 更新时间:2023-12-01 11:39:41 24 4
gpt4 key购买 nike

我正在使用https://code.google.com/p/javaparser Java 解析器从文件中获取数据。问题是解析器无法识别 arraylist、hashmap、map 等。

当我在这样的文件中使用 arraylist 时;

public static ArrayList<ClassType> classList;

没有任何错误。它有效。

当我这样使用它时;

public static ArrayList<ClassType> classList = new ArrayList<>();

它给出以下错误

是 2015 年 15 月 7:22:23 图表创建器.DiagramCreator main严重:空japa.parser.ParseException:在第 2 行第 69 列遇到“"<""< ""。本来期待: “(”...

at japa.parser.ASTParser.generateParseException(ASTParser.java:10074)
at japa.parser.ASTParser.jj_consume_token(ASTParser.java:9920)
at japa.parser.ASTParser.Arguments(ASTParser.java:3097)
at japa.parser.ASTParser.AllocationExpression(ASTParser.java:3226)
at japa.parser.ASTParser.PrimaryPrefix(ASTParser.java:2885)
at japa.parser.ASTParser.PrimaryExpression(ASTParser.java:2789)
at japa.parser.ASTParser.PostfixExpression(ASTParser.java:2715)
at japa.parser.ASTParser.UnaryExpressionNotPlusMinus(ASTParser.java:2695)
at japa.parser.ASTParser.UnaryExpression(ASTParser.java:2589)
at japa.parser.ASTParser.MultiplicativeExpression(ASTParser.java:2479)
at japa.parser.ASTParser.AdditiveExpression(ASTParser.java:2439)
at japa.parser.ASTParser.ShiftExpression(ASTParser.java:2399)
at japa.parser.ASTParser.RelationalExpression(ASTParser.java:2349)
at japa.parser.ASTParser.InstanceOfExpression(ASTParser.java:2326)
at japa.parser.ASTParser.EqualityExpression(ASTParser.java:2287)
at japa.parser.ASTParser.AndExpression(ASTParser.java:2261)
at japa.parser.ASTParser.ExclusiveOrExpression(ASTParser.java:2236)
at japa.parser.ASTParser.InclusiveOrExpression(ASTParser.java:2211)
at japa.parser.ASTParser.ConditionalAndExpression(ASTParser.java:2186)
at japa.parser.ASTParser.ConditionalOrExpression(ASTParser.java:2161)
at japa.parser.ASTParser.ConditionalExpression(ASTParser.java:2137)
at japa.parser.ASTParser.Expression(ASTParser.java:2053)
at japa.parser.ASTParser.VariableInitializer(ASTParser.java:1191)
at japa.parser.ASTParser.VariableDeclarator(ASTParser.java:1113)
at japa.parser.ASTParser.FieldDeclaration(ASTParser.java:1076)
at japa.parser.ASTParser.ClassOrInterfaceBodyDeclaration(ASTParser.java:1028)
at japa.parser.ASTParser.ClassOrInterfaceBody(ASTParser.java:961)
at japa.parser.ASTParser.ClassOrInterfaceDeclaration(ASTParser.java:604)
at japa.parser.ASTParser.TypeDeclaration(ASTParser.java:524)
at japa.parser.ASTParser.CompilationUnit(ASTParser.java:269)
at japa.parser.JavaParser.parse(JavaParser.java:81)
at japa.parser.JavaParser.parse(JavaParser.java:109)
at japa.parser.JavaParser.parse(JavaParser.java:124)
at diagramcreator.DiagramCreator.main(DiagramCreator.java:65)

我该如何解决这个问题?有什么建议么?我认为问题可能出在菱形括号上,但我不知道如何解决这个问题。

最佳答案

您正在链接到该项目的一个非常旧的版本,该版本不再有效,并且仅支持 Java 5 之前的 Java 版本。您在 <> 中使用的菱形运算符 ( new ArrayList<>() )仅在 Java 7 中引入,因此解析器无法识别它。

要解决此问题,请从 here 下载支持 Java 8 版本的最新 JavaParser 版本。 .

关于JavaParser - ArrayList 无法正确识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29641608/

24 4 0