易截截图软件、单文件、免安装、纯绿色、仅160KB

Effective Java 学习笔记(8)

当重载equals方法时,遵循惯例. equals不是每个类都必须重载,当以下几个条件满足,可以不重载equals. 1. 类的实例只有同一个才被判为相等. 如Thread类. 2. 不用关心两个对象是否逻辑相等的时候,或是说比较对象没有意义. 3.父类已经重载了equals,而且父类的equals也适用于子类,子类就不用重载equals. 4.这是一个私有类或是包内访问,你确定equals不会被调用. 那什么时候使用equals呢,当两个对象之间有逻辑相等的意义的时候,而其父类并没有重载适合的equals的时候, 换句话说,也就是数据类. 这种类有比较值的需求, 而不是简单的判断是不是同一个对象. 然而,对实例化进行控制的数据类型对象,如singleton,不用重载equals. 重载要注意以下几个原则: 反射,对称,传递,一致 另外,对于null,一定要返回false. 高效的equals可以参考以下几点. 1. 用==判断是不是同一个实例. 2. 使用instanceof判断是不是同一个类型. 3.强制转化成正确的类型. 4.对每个有比较意义的成员变量都作检查. 5.当你写完之后,要问自己,这个函数是不是对称的,可传递的,一致的. 写完equals后,要注意: 1. 在重载equals后,必须要重载hashCode. 2. 不能简单的比较一个field是不是相等. 如对File这对类,如果两个对象打开的是相同内容的文件,此时不应该判断为相同. 3.不要用另一个类型来代替参数中的Object,否则这就不是重载. 错误例子: public boolean equals(MyClass o) {
...
} 在编译前使用@Override 可以使编译器在不正确的函数签名时报错.


相关文档:

传智播客java学习 sql常用函数

我今天学习了sql语句的常用函数,是冯威老师讲的,我做了简单的笔记:
 
一,SQL函数:
1. 大小写转换函数
   lower 转成小写  
   upper 大写
   initcap  将字符串的(每个单词的)第一个字母变为大写,后面的小写
 select initcap('huangHY') from dual
&n ......

传智播客java学习 sql对象

我今天学习了Oracle数据库如何修改表的知识,是冯威老师讲的课,我做了简单的记录:
1.在表中插入新的列:
  alter table tablename
  add city varchar(2) default 'rr' //赋默认值
2.修改表中的列:
  alter table tablename
  modify city varchar(20)
3.删除表中的列:
  alter t ......

Java参数传递(经典,非原创)

1. 简单类型是按值传递的
  Java 方法的参数是简单类型的时候,是按值传递的 (pass by value)。这一点我们可以通过一个简单的例子来说明:
/* 例 1 */
/**
* @(#) Test.java
* @author fancy
*/
public class Test {
   public static void test(boolean test) {
    &nb ......

Java基于可扩充数组的向量实现(算法源码)

/* 高手之作,本人谨以收藏者身份拿出共享供大家参考! */
/*
 * 向量接口
 */
package dsa;
public interface Vector {
//返回向量中元素数目
 public int getSize();
//判断向量是否为空
 public boolean isEmpty();
//取秩为r的元素
 public Object getAtRank(int r)
 throws ......

Java Web开发学习笔记之二

1. doGet vs doPost
    这个问题,老师讲得不是很清晰,仅仅讲了doGet是可以取出参数值在url中的参数。以下内容copy自网络:
“get只有一个流,参数附加在url后,地址行显示要传送的信息,大小个数有严格限制且只能是字符串。
post的参数是通过另外的流传递的, 不通过url,所以可以很大,也可以传 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号