BigInteger在Java8里增加了一组方法:

1
2
3

public byte byteValueExact()
public int intValueExact()
public long longValueExact()

这些方法后面都有Exact(),在老的JDK版本中,已经有了byteValue,intValue,longValue()为什么还要再增加这些方法呢?
因为在原来的方法中,如果BigInteger的值溢出了要目标类型的范围,是不会有任何提示的,那么我们的程序很可能在一个很隐蔽的错误下执行,没有任何错误输出,但是程序依然会继续执行,这种错误很难很难查。。。。。(大家可以想象一下,一个数值被突然改变了,不是很仔细的看,很难看出来),
有了新的XXXExact()方法,这一切都好办了,XXXExact()方法会在溢出的时候,抛出一个异常

1
2
3
4
5
6

public long longValueExact() {
    if (mag.length <= 2 && bitLength() <= 63)
        return longValue();
    else
        throw new ArithmeticException("BigInteger out of long range");
}

这样,我们就是可以在溢出时得到一个通知,进行处理。

转载于:https://blog.51cto.com/geym2008/1545787

【爱上Java8】BigInteger在Java8中的改进相关推荐

  1. Java8高效遍历map_Java8中Map的遍历方式总结

    在这篇文章中,我将对Map的遍历方式做一个对比和总结,将分别从JAVA8之前和JAVA8做一个遍历方式的对比,亲测可行. public class LambdaMap { private Map ma ...

  2. 爱上MVC3系列~分部视图中的POST

    在PartialView中进行表单提交,有什么用呢,我来总结一下: 1 这个表单不只一个地方用到 2 可能涉及到异步的提交问题 这两种情况都有可能需要把表单建立在"分部视图"中,我 ...

  3. java++biginter_Java中的BigInteger在ACM中的应用

    Java中的BigInteger在ACM中的应用 在ACM中的做题时,经常会遇见一些大数的问题,这是当我们用C或是C++时就会觉得比较麻烦,就想有没有现有的现有的可以直接调用的BigInter,那样就 ...

  4. java8中Hashmap改进

    发现别人已经总结的很详尽了,就不重复造轮子了. 本文系转载,原文地址:http://www.importnew.com/20386.html Java为数据结构中的映射定义了一个接口java.util ...

  5. java8的表达式_java8中的Lambda表达式

    lambad表达式是一个匿名函数,既没有函数名的函数.在lambda表达式出现之前,java中更多使用的是匿名内部类所以有些刚刚接触lambda表达式的人会把lambda表达式误认为就是匿名内部类的简 ...

  6. Java8新特性-接口中的静态方法与默认方法

    今天上午在读<Effective Java>时,有这样一句话:"接口中"不能有静态方法,于是联想起面试时老是被问接口相关的东西,决定总结一下,谁知道这一总结,就发现了自 ...

  7. java8实战怎么样_Java8中你可能不知道的一些地方之Stream实战

    说起流,我们会想起手机 ,电脑组装流水线,物流仓库商品包装流水线等等.如果把手机 ,电脑,包裹看做最终结果的话,那么加工商品前的各种零部件就可以看做数据源,而中间一系列的加工作业操作,就可以看做流的处 ...

  8. java8 stream遍历_Java8中用法优雅的 Stream,性能也优雅吗?

    Java8的Stream API可以极大提高Java程序员的生产力,让程序员写出高效率.干净.简洁的代码.那么,Stream API的性能到底如何呢,代码整洁的背后是否意味着性能的损耗呢?本文对Str ...

  9. java8 list 去重_Java8中的Stream,一行代码,让集合操作飞起来

    简介 java8也出来好久了,接口默认方法,lambda表达式,函数式接口,Date API等特性还是有必要去了解一下.比如在项目中经常用到集合,遍历集合可以试下lambda表达式,经常还要对集合进行 ...

最新文章

  1. 47 jQuery文本内容值
  2. 集中配置管理工具puppet安装使用
  3. 以色列研究人员实现利用计算机风扇噪音窃听
  4. xp计算机知识点,全国职称计算机考试Windowsxp知识点
  5. Python+Django+Nginx+Uwsgi(史上最全步骤)(亲测)
  6. 微服务的简介和技术栈,太牛逼了!
  7. 遵守java编码规范
  8. 【乐道珠玑】第一期 —— 信息学竞赛简介
  9. Reporting Services Catalog Database File Existence error during installing SQL Server 2008 R2
  10. 三次握手四次挥手必掌握,看了绝对不吃亏!
  11. 标杆企业华为背景——张蕾老师
  12. 【UE4】使用UMG创建UI,了解内部机制及相应优化方法
  13. 基于python3的群聊聊天室
  14. Imperva WAF Bypass【翻译】
  15. 纯CSS实现地图标记光圈扩散效果
  16. 国外知名网站Stackoverflow 历时两年评选出11本对程序员最有影响力的书籍
  17. HTML水平垂直居中的四种方式
  18. RabbitMQ(1): docker-compose安装rabbitmq及简单使用Hello World
  19. Kotlin第4篇 【Kotlin】进阶视频课程-关东升-专题视频课程
  20. 全志XR806芯片 串口修改波特率后与目标波特率不匹配如何解决?

热门文章

  1. VC知识点:关于没有提示的内存泄露
  2. DateChooser控件发布ASP.NET 2.0新版(我的ASP.NET 2.0控件开发书的第二个阶段项目)[请大家一定注意版本的更新,下载最新版]...
  3. 微服务之配置中心ConfigKeeper
  4. 年过35岁的程序员都去哪儿了
  5. 判断一个点是否在RotatedRect中
  6. 面试题:求最长非重复子序列
  7. GGTalk ——C#开源即时通讯系统
  8. SSM项目搭建一(终)
  9. 逃离伪PHP程序员应该做的事
  10. 【恋爱通告】高清完整版迅雷下载! 首发