
Effect Java学习
syaijava
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
45条局部变量的作用域最小化
总结如下:1. 最好的方式是第一次使用它的时候声明。不要提前声明,否则会产生灾难性故障。2. 如果循环之后不再使用循环变量里的内容,那么我们优先使用for循环的两种形式,当然在46条我们可以看到,某些情况下更推荐for-each循环方式。这样有个好处就是,避免你拷贝代码出现错误,while复制的时候,因为你要在循环体外面定义一个变量1,所以你拷贝的话,虽然定义了变量原创 2016-02-21 11:46:08 · 447 阅读 · 0 评论 -
46条for_each循环优于传统for循环
Jdk1.5之前,变量集合做法如下:请去翻Effect Java原书。比如:public staticvoid main(String[] args) { ArrayListarray = new ArrayList(); array.add("a"); ar原创 2016-02-21 11:54:58 · 453 阅读 · 0 评论 -
48条:如果需要精确的答案,避免使用float和double
这一点其实挺简单的,计算机计算浮点的时候会有误差,所以要是精确的小数计算还是使用BigDecimal吧,这个可能用的不多,不过进行交易计算就容易产生问题吧,比如公司同事发的百度码农的bug,234.124元这样的数字,也是挺搞笑的。原创 2016-03-06 16:04:14 · 264 阅读 · 0 评论 -
49条基本类型优先于装箱基本类型
这里作者举了几个例子,装箱类型,是一个对象,对于Integer来说,默认是null,不是我们想象中的默认 0 ,int 才是默认 0 原文说三个区别:一、基本类型只有值,装箱类型除了值之外还有与他们的值不同的同一性(这个估计是说,装箱类型作为对象的不同,尤其在相等比较的时候,下面会有例子)二、基本类型只有功能完备的值,装箱类型除了对应的基本类型所有值之外还有个非功能值,那就是null,原创 2016-03-06 16:31:15 · 281 阅读 · 0 评论 -
50条如果其他类型更合适,尽量避免使用字符串
(一)字符串不适合代替其他的值类型如果数据本身是数值,就应该是int float或者BIgInteger之类的,如果是一个 是-或-否,这种问题,应该转化为 Boolean。也就是说,如果存在适当的值类型,不管是基本类型还是其他对象引用,大多应该使用这种类型,如果不存在这样的类型,就应该编写这样的类型。显然,抓数据的时候,不应该都是String。(二)字符串不适合替代枚举类型(原创 2016-03-06 17:28:43 · 596 阅读 · 0 评论 -
第51条:当心字符串连接的性能
如果多个字符串连接,使用StringBuilder,String是final的,不可变的,两个字符串被连接在一起时,他们的内容都要被拷贝。所以记住,多个字符串相加,使用StringBuilder就是了。 public staticvoid main(String[] args) { String test= "a";原创 2016-02-24 14:59:03 · 414 阅读 · 0 评论