大约两个星期前,做了一个java的project,这个project看起来比较简单做起来更加简单,但是就像大多数project一样,看起来简单,实际中还是会遇到一些问题,碰到一些从来没有注意过的问题,下面就为这次的project做一次总结。再次之前说一下,这个总结或者说report是早就应该写的,因为放假懒惰的原因一直拖延,今天必须要搞定,就是现在!!!
1.equals()与==
这两个都可以比较两个对象是否相等,但是并不能代表可以互换,记住,这是java,不是C++,具体来说,==的意思是确定两个对象是否为同一个对象,也就是说,要确定两个对象是否就是一个对象的两个不同的名字;而对于equals()来说,就是比较两个对象的是否相等了。所以建议一般还是用equals()。
2.boolean equals(Object a)
这里的equals是Object的函数,之所以在这里提出来是因为如果要使用Java的container,可能会用到container里面诸如contains()这样的函数,而这样的函数会调用一些Object()里面的函数,如果说没有重写这些函数的话就可能会杯具,因为Object()的这些函数不一定可以满足你的要求,因此如果要用到容器的话强烈建议重写equals()这个函数,因为形参是Object所以记得在使用之前类型转化成目标的类型。
3.=
在对象里面使用=时表示对一个对象的引用,比如a=b,于是b就是a之前引用的对象的一个引用,也就是说,a和b表示的是同一个对象,只是名字不同而已。
就这么多了,现在看起来还挺简单的,Java该好好学一学,用途广泛,对于我来说,一切才刚刚开始!