Method method1 = ((T)obj1).getClass().getMethod(methodStr, null);
Method method2 = ((T)obj2).getClass().getMethod(methodStr, null);
if (sortMode != null && "desc".equals(sortMode)) {
retVal = method2.invoke(((T) obj2), null ).toString().compareTo(method1.invoke(((T) obj1), null); // 倒序
} else {
retVal = method1.invoke(((T) obj1), null ).toString().compareTo(method2.invoke(((T) obj2), null).toString()); // 正序
}
改成:
Method method1 = ((T)obj1).getClass().getMethod(methodStr, new Class[0]);
Method method2 = ((T)obj2).getClass().getMethod(methodStr, new Class[0]);
if (sortMode != null && "desc".equals(sortMode)) {
retVal = method2.invoke(((T) obj2), new Object[]{} ).toString().compareTo(method1.invoke(((T) obj1), new Object[]{}).toString()); // 倒序
} else {
retVal = method1.invoke(((T) obj1), new Object[]{} ).toString().compareTo(method2.invoke(((T) obj2), new Object[]{}).toString()); // 正序
}