摘要: 枚举和注解都是在Java1.5中引入的,虽然它们是后起之秀,但其功效不可小觑,枚举改变了常量的声明方式,注解耦合了数据和代码。 建议83:推荐使用枚举定义常量 常量声明是每一个项目都不可或缺的,在Java1.5之前,我们只有两种方式的声明:类常量和接口常量,若在项目中使用的是Java1.5之前的版本 阅读全文
posted @ 2016-09-26 09:52 阿赫瓦里 阅读(3660) 评论(3) 推荐(6) 编辑
摘要: 建议79:集合中的哈希码不要重复 在一个列表中查找某值是非常耗费资源的,随机存取的列表是遍历查找,顺序存储的列表是链表查找,或者是Collections的二分法查找,但这都不够快,毕竟都是遍历嘛,最快的还要数以Hash开头的集合(如HashMap、HashSet等类)查找,我们以HashMap为例, 阅读全文
posted @ 2016-09-24 09:52 阿赫瓦里 阅读(1653) 评论(3) 推荐(4) 编辑
摘要: 建议75:集合中的元素必须做到compareTo和equals同步 实现了Comparable接口的元素就可以排序,compareTo方法是Comparable接口要求必须实现的,它与equals方法有关系吗?有关系,在compareTo的返回为0时,它表示的是 进行比较的两个元素时相等的。equa 阅读全文
posted @ 2016-09-23 10:45 阿赫瓦里 阅读(1672) 评论(2) 推荐(6) 编辑
摘要: 建议70:子列表只是原列表的一个视图 List接口提供了subList方法,其作用是返回一个列表的子列表,这与String类subSting有点类似,但它们的功能是否相同呢?我们来看如下代码: c1是通过ArrayList的构造函数创建的,c2是通过列表的subList方法创建的,然后c2又增加了一 阅读全文
posted @ 2016-09-21 18:29 阿赫瓦里 阅读(1634) 评论(2) 推荐(5) 编辑
摘要: 建议65:避开基本类型数组转换列表陷阱 我们在开发中经常会使用Arrays和Collections这两个工具类和列表之间转换,非常方便,但也有时候会出现一些奇怪的问题,来看如下代码: 也许你会说,这很简单,list变量的元素数量当然是5了。但是运行后打印出来的列表数量为1。 事实上data确实是一个 阅读全文
posted @ 2016-09-20 15:04 阿赫瓦里 阅读(2296) 评论(2) 推荐(13) 编辑
摘要: 噢,它明白了,河水既没有牛伯伯说的那么浅,也没有小松鼠说的那么深,只有亲自试过才知道。 寓言故事《小马过河》 数据处理是每种语言必备的功能,Java更甚之,数据集可以允许重复,也可以不允许重复,可以允许null存在,也可以不允许null存在,可以自动排序,也可以不自动排序,可以是阻塞式的,也可以是非 阅读全文
posted @ 2016-09-19 11:26 阿赫瓦里 阅读(2560) 评论(1) 推荐(5) 编辑
摘要: 建议56:自由选择字符串拼接方法 对一个字符串拼接有三种方法:加号、concat方法及StringBuilder(或StringBuffer ,由于StringBuffer的方法与StringBuilder相同,不在赘述)的append方法,其中加号是最常用的,其它两种方式偶尔会出现在一些开源项目中 阅读全文
posted @ 2016-09-18 14:09 阿赫瓦里 阅读(2152) 评论(3) 推荐(4) 编辑
摘要: 建议52:推荐使用String直接量赋值 一般对象都是通过new关键字生成的,但是String还有第二种生成方式,也就是我们经常使用的直接声明方式,这种方式是极力推荐的,但不建议使用new String("A")的方式赋值。为什么呢?我们看如下代码: 注意看上面的程序,我们使用"=="判断的是两个对 阅读全文
posted @ 2016-09-17 22:33 阿赫瓦里 阅读(1916) 评论(0) 推荐(8) 编辑
摘要: 建议47:在equals中使用getClass进行类型判断 本节我们继续讨论覆写equals的问题,这次我们编写一个员工Employee类继承Person类,这很正常,员工也是人嘛,而且在JavaBean中继承也很多见,代码如下: 员工类增加了工号ID属性,同时也覆写了equals方法,只有在姓名和 阅读全文
posted @ 2016-09-15 09:22 阿赫瓦里 阅读(1705) 评论(2) 推荐(4) 编辑
摘要: 建议41:让多重继承成为现实 在Java中一个类可以多重实现,但不能多重继承,也就是说一个类能够同时实现多个接口,但不 能同时继承多个类。但有时候我们确实需要继承多个类,比如希望拥有多个类的行为功能,就很难使用单继承来解决问题了(当然,使用多继承是可以解决的)。幸 运的是Java中提供的内部类可以曲 阅读全文
posted @ 2016-09-14 08:46 阿赫瓦里 阅读(2378) 评论(3) 推荐(11) 编辑