📄 cachekey.java
字号:
package cn.myapps.util.cache;
import java.io.Serializable;
import java.lang.reflect.Method;
public class CacheKey implements Serializable {
private static final long serialVersionUID = -7124787750194694248L;
private Object o;
private Method method;
Object[] methodParameters;
public CacheKey(Object o, Method method, Object[] methodParameters) {
this.o = o;
this.method = method;
this.methodParameters = methodParameters;
}
// public native int hashCode();
public String toString() {
StringBuffer tmp = new StringBuffer();
for (int i = 0; i < methodParameters.length; i++) {
if (methodParameters[i] != null)
tmp.append(methodParameters[i]).append(",");
}
return o + "&&" + method + tmp;
}
private boolean equalsArray() {
return false;
}
public boolean equals(Object obj) {
if (obj != null && obj instanceof CacheKey) {
CacheKey ck = (CacheKey) obj;
if ((method != null && method.equals(ck.method))
|| (method == null && ck.method == null)) {
if (methodParameters != null) {
if (methodParameters.length == ck.methodParameters.length) {
for (int i = 0; i < methodParameters.length; i++) {
Object param1 = methodParameters[i];
Object param2 = ck.methodParameters[i];
if (param1 != null) {
if (!param1.equals(param2))
return false;
} else {
if (param2 != null)
return false;
}
}
return true;
}
}
}
}
return false;
}
public int hashCode() {
// System.out.println("hashcode->"+o.hashCode() + method.hashCode());
return method.hashCode();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -