JAVA SE 8 学习笔记(六)杂项改进

1. 字符串

String提供了一个与split相反的join方法,将字符串通过分隔符组合起来.字符串可以来自于Array或者Iterable<? extends CharSequence>:

String joined = String.join("/", "usr", "local", "bin"); // "usr/local/bin"
System.out.println(joined);
String ids = String.join(", ", ZoneId.getAvailableZoneIds());
System.out.println(ids);
// All time zone identifiers, separated by commas

2. 数字类

7种数字类型的包装类提供了BYTES字段,用来表示该类型的长度

8种原始类型的包装类型,提供了静态的hashCode方法,用来返回与实例方法相同的hash码,省去装箱/拆箱。


Short, Integer, Long, Float, 和 Double提供了sum、max和min,用来在流操作中作为聚合函数使用。Boolean包含了logicalAnd, logicalOr, 和 logicalXor


Integer现在支持无符号数学计算, Byte 和 Short 类增加方法 toUnsignedInt

Byte, Short, 和 Integer 增加方法 toUnsignedLong.

使用无符号数字,会丢失负数,并获得两倍的正数范围

Integer 和 Long 添加方法 compareUnsigned, divideUnsigned, 和
remainderUnsigned
(求余)用来处理无符号值


Float和Double新增静态方法isFinite.当数字为正/负无穷大或者NAN(非数字时),该方法返回false,否则返回true


BigInteger 添加实例方法 (long|int|short|byte)ValueExact
返回对应的值, 当值不再目标范围内时抛出 ArithmeticException


3. 数学函数

Math类新增方法为:(add|subtract|multiply|increment|decrement|negate)Exact,参数为 int 和 long.这些方法可以进行精确计算,如果超过范围则会抛出异常。例如100000*100000会计算出错误结果1410065408(int型overflow),而multiplyExact(100000, 100000)会抛出异常。


floorMod floorDiv旨在解决整型余数问题。在java中,如果n为负数,n%2为-1,而floorMod(position + adjustment, 12)总是返回一个0到11之间的数字。(对于负的除数,还是会返回负值)。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值