以下のように SimpleKeyGenerator の実装を知っています。
@Override
public Object generate(Object target, Method method, Object... params) {
return generateKey(params);
}
/**
* Generate a key based on the specified parameters.
*/
public static Object generateKey(Object... params) {
if (params.length == 0) {
return SimpleKey.EMPTY;
}
if (params.length == 1) {
Object param = params[0];
if (param != null && !param.getClass().isArray()) {
return param;
}
}
return new SimpleKey(params);
}
私を混乱させているのは、メソッドの名前を考慮せず、パラメーターのみを考慮していることです。どうして???これにより、同じパラメーターを持つ 2 つの異なるメソッドが同じキーを持ち、同じ結果がキャッシュに返されます。このデザインの目的は何ですか?