自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 第十二条 考虑实现Comparable接口

这个接口强行对实现它的每个类的对象进行排序,该排序被称为类的自然排序,该方法被称为它的自然比较方法 。该接口不但允许同类的比较,也允许一个继承体系的比较,还是一个泛型类,实现了该接口,就表明它具有内在的排序关系。比如  Collections.sort(a) 和 Arrays.sort(a)排序。一个实体类,实现了该接口,那么可以根据他们的内在排序关系,例如字母顺序,数值顺序或者时间年

2017-03-12 23:11:09 338

原创 第十一条 谨慎地覆盖clone

clone这个方法一般不要用,因为使用不好很容易出错。Java对对象和基本的数据类型的处理是不一样的,基本类型是在栈中,new出来的对象是在堆中产生,地址值可能存在堆中,也可能存在栈中,有个地址值,也就是地址引用。首先要实现Cloneable接口,然后在重载clone方法,最后在clone()方法中调用了super.clone(),这也意味着无论clone类的继承结

2017-03-07 21:32:58 311

原创 第十条 始终要覆盖toString

public String toString()这个方法返回该对象的字符串。通常, toString 方法会返回一个“此对象的字符串。是一个简明但易于读懂的信息表达式。真心建议所有子类都重写此方法。Object 类的 toString 方法返回一个字符串,该字符串由类名、 标记符“@”和此对象哈希码的无符号十六进制表示组成。也就是说,该方法返回一个字符串,它的值等于

2017-03-06 22:31:18 344

原创 第九条 覆盖equals时总要覆盖hashCode方法

上一章主要讲了equals方法,今天讲他的相关方法,可以说是兄弟方法。我们如果想比较两个同类型对象的值是否一样,可以通过重写equals方法来进行逻辑判断,一些更常见的用法是对象,比如ArrayList和LinkedList等集合,平常用到很多,为了判断集合中是否包含此对象,常用到contains()方法,这两个集合里面调用的方法public boolean contains(Object

2017-03-05 22:53:09 355

原创 第八条 覆盖equals请遵守通用的约定(二)

传递性,相同类型的传递性出错基本不可能,出错的一般都是写子类扩展属性的情况。例如两个类public class Point {    private int x;    private int y;    public Point(int x, int y) {        this.x = x;        this.y = y;    }  

2017-03-04 16:53:20 281

原创 第八条 覆盖equals请遵守通用的约定(一)

第八条 覆盖equals请遵守通用的约定(一)对象的equsls()方法经常会用到,没用过的都不好意思说自己是做java的。那么,这个方法怎么用,或者有什么用处,下面慢慢讲解。类被实例化出来对象,对象本质上都是唯一的,如果不重写equals()方法,那么,每个类都只与它自身相等。以下四种情况适用这个形式:一、类的每个实例本质上是唯一的,一般可用 == 来比较,此时比较的是在内存中的

2017-03-04 16:10:20 309

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除