Java潜在的坑持续总结

1.Java里如果有if (foo == 0),如果foo是null这里居然是会抛NPE异常而不是返回false;

2.Java里整形数值不能用==来比较,因为只有区间是[-128,127]的才能这么比较,用equals方法来比较;

3.BigDecimal直接的比较不能用equals(貌似Date也是),而要用compareTo方法来比较;

4.substring和subList如果要取的数据大于最大值不是自动取只有的那些而是抛异常;

5.Java的字符串Api里对null值的操作结果一般是返回一个"null"字符串,比如String.format("%s#", null)返回一个null#的字符串,而不是#,包括join方法和concat方法都是返回一个null字符串而非不做操作,这和C#的不一样;

6.Java的set变is只是对boolean,对Boolean不生效,所以这其实在某些情况可能也是一个坑;

原文地址:https://www.cnblogs.com/silentdoer/p/10175381.html