巨大整数的 intValue() 抛出错误

intValue() for huge Integer is throwing error

我正在研究 asn 文件结构。 我现有代码的数据类型为:

Fieldname::= INTEGER

根据我的要求,我改成了:

Fieldname::= INTEGER --<HUGE>--

在通过 java 解析此值时,我正在使用:

int intValue = Fieldname.intValue()

更改数据类型(大整数)后出现错误:

Error:(750,121) java: cannot find symbol
Cannot resolve method 'intvalue'

这只是解析器的问题。如何将字符串解析为巨大的 int。

你没说你用的是什么工具。

编辑:根据您的评论,我了解到您正在使用 OSS Nokalva。这是一个商业产品,您应该从那里寻求支持。

不过,这似乎很正常

--<HUGE>-- 是一个提示(pragma),让您的代码生成器在 java 代码中使用比 int 更大的内容。 (请注意,就asn.1而言,它只是注释)。

因此,访问器将不同:longValue()bitIntegerValue() 或您的文档所说的任何内容。

看看生成的代码,你会很容易找到

我已经解决了这个问题。 我使用下面的代码来解析我的 java 代码中的值。

BigInteger intValue = Fieldname.bigIntegerValue()