java – 如有必要,切换到BigInteger

我正在阅读一个文本文件,其中包含[1,10 ^ 100]范围内的数字.然后,我对每个数字执行一系列算术运算.我想只在数字超出int / long范围时才使用BigInteger.一种方法是计算字符串中有多少位数,如果有太多则切换到BigInteger.否则我只是使用原始算法,因为它更快.有没有更好的办法?

有没有理由为什么Java不能自动执行此操作,即如果int太小则切换到BigInteger?这样我们就不用担心溢出了.

解决方法

我怀疑使用原始值进行整数和实数的决定(出于性能原因而做)使得该选项无法实现.请注意,Python和Ruby都可以满足您的要求.

在这种情况下,处理较小的特殊情况可能需要做更多的工作(你需要一些自定义类来处理这两种情况),你应该只使用BigInteger.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...