我的代码库中有这两种方法,我想以某种方式合并它们以避免代码重复:
protected IJavaType[] getExceptionTypes(Method method) {
Class<?>[] declaredExceptions = method.getExceptionTypes();
IJavaType[] exceptions = new IJavaType[declaredExceptions.length];
for (int i = 0; i < declaredExceptions.length; i++) {
exceptions[i] = getType(declaredExceptions[i]);
}
return exceptions;
}
protected IJavaType[] getExceptionTypes(Constructor<?> c) {
Class<?>[] declaredExceptions = c.getExceptionTypes();
IJavaType[] exceptions = new IJavaType[declaredExceptions.length];
for (int i = 0; i < declaredExceptions.length; i++) {
exceptions[i] = getType(declaredExceptions[i]);
}
return exceptions;
}
有没有办法排除代码重复(除了使用模板模式的子类化)?