我在使用 BigInteger
类时遇到问题。我有一个只有普通 int
的输入列表,但我必须更改 said to 列表以接受大整数。
在我的代码的多个部分中,我有这样的说明:
input.set(input.get(i + 3),
(input.get(input.get(i + 1)) + input.get(input.get(i + 2))));
它们会产生这样的错误:
Cannot convert type of expression
(input.get(input.get(i + 1)) + input.get(input.get(i + 2))) from int to E
我尝试过做这样的事情:
(input.get(BigInteger.valueOf(input.get(i + 1)))
.add(BigInteger.valueOf(input.get(BigInteger(input.get(i + 2)))))));
但这并没有帮助。
最佳答案
这是没有办法实现的。您尝试调用 List.get(int)
并传递 BigInteger
(通过调用 input.get(i + 1)
获得) ) 作为参数。由于 BigInteger
可以存储比 int
所能表示的数字大得多的数字,因此不可能将一个数字转换为另一个数字。
您将必须重新考虑您的数据结构以及您想用它们做什么。
关于Java 大整数 - 嵌套 get,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59247851/