guava&&java

来源:互联网 发布:马拉车算法 编辑:程序博客网 时间:2024/06/04 18:40
第三节  java&&guava  
1、long 型在做相乘时,要在第一个数字上加上L
long num = 100L *  100;
2、Integer 大小比较时 若用==
(1) 数字大小为 -128 -127时,大小一致
3、Integer赋值到int型时,若Integer为null,则转换时出现异常
Integer integer = null;
int num = integer;(出现异常)
4、少用double类型,因为它精确值不稳定,可用BigDecimal类型。
BigDecimal bigDecimal1 = new BigDecimal("0.1");
BigDecimal bigDecimal2 = new BigDecimal("0.1");
System.out.pringln(bigDecimal1.add(bigDecimal2));
(1)BigDecimal必须是完全精确地,若有除法出现无限循环的结果,会抛出异常。可以设定其精确范围。
(2) 判断精确度不一致,但大小一样的数相等
BigDecimal bigDecimal1 = new BigDecimal("1.0");
BigDecimal bigDecimal2 = new BigDecimal("1");
System.out.pringln(bigDecimal1.compareTo(bigDecimal2)==0);  //输出trure
System.out.pringln(bigDecimal1.equls(bigDecimal2));  //输出false
5、 字符串尽量不要使用==判断相等,用equals()
String site = "a";
site.replace("a","b");//site还是a
site = site.replace("a","b");//site是b
6、StringBuffer和StringBuilder(StringBuffer加锁,效率略微差一点)
在循环中若涉及字符串拼接之类的操作时,可用StringBuilder.append();这样就避免了String对象的不停创建和销毁。现在编译器可以自动在循环中帮我们做优化,将String转换为StringBuilder,但在不同的循环间,就会不停地做这种转换。所以用StringBuilder比较好。
7、String.split()中的匹配字符串要用正则表达式,比如"."用"\\."转义。
在guava中,Splitter.on(".").omitEmptyStrings().trimReults();
8、guava 的Joiner
9、相对路径获取文件 File file = new File(BasicExample.class.getResource("/target.txt").getFile());
0 0
原创粉丝点击