我需要在我的pojo(java)类中分配一个变量名“ package”,以便可以通过对象映射器类将其绑定,但是显示错误

时间:2019-02-15 09:07:23

标签: java json jackson

我想制作一个pojo类,在其中使用ObjectMapper绑定一个json对象。我必须使用变量名

       FileReader fr = new FileReader("D:\\PDFTOEXCEL     
         \\Extractionfrompdf.txt");                                                                     

        BufferedReader br = new BufferedReader(fr);

        String s2;
        String Alternate_Account_Number = null;

        String keyword2 = arra.get(7);
               br.mark(0);
        while ((s2 = br.readLine()) != null) {

            if (s2.contains(keyword2)) {
                s2 = s2.replaceAll(keyword2, " ");

                Alternate_Account_Number = s2;

                System.out.println(Alternate_Account_Number);

                break;
            }
            br.reset();

        }


        String s3;


        String Meter_Number = null;


        String keyword3 = arra.get(8);
             br.mark(0);

        while ((s3 = br.readLine()) != null) {

            if (s3.contains(keyword3)) {
                s3 = s3.replaceAll("\\D+", " ");

                Meter_Number = s3;

                System.out.println(Meter_Number);

                break;
            }
                 br.reset();

        }

但是上面的行显示我错误。有什么解决办法可以让我使用此变量名包。

4 个答案:

答案 0 :(得分:3)

如之前的评论所述,程序包不能在Java中用作变量名,但是您可以注释该变量以在JSON中仍然使用该名称

@JsonProperty("package")
private String packageName

答案 1 :(得分:1)

package 这个词是一个关键字,您不能将其用作变量的名称。

Here's a link to a list of keywords in java

答案 2 :(得分:0)

保留的单词是不能用作Java程序中的对象或变量名称的单词,因为Java编程语言的语法已经使用了它们。

Package 也是保留字。

如果您尝试在Java程序中使用以下任何单词作为标识符,则会出现错误。

答案 3 :(得分:0)

您不能使用名称声明Java语言中使用的名称。