ソースを参照

typeMap 的 key 由 String 类型改为 Class<?>

James 3 年 前
コミット
c416cb70e6

+ 3 - 3
src/main/java/com/jfinal/core/paragetter/ParaProcessorBuilder.java

@@ -26,7 +26,7 @@ import com.jfinal.log.Log;
 public class ParaProcessorBuilder {
 public class ParaProcessorBuilder {
 
 
 	public static final ParaProcessorBuilder me = new ParaProcessorBuilder();
 	public static final ParaProcessorBuilder me = new ParaProcessorBuilder();
-	private Map<String, Holder> typeMap = new HashMap<String, Holder>();
+	private Map<Class<?>, Holder> typeMap = new HashMap<>();
 	private static final Log log = Log.getLog(ParaProcessorBuilder.class);
 	private static final Log log = Log.getLog(ParaProcessorBuilder.class);
 
 
 	private ParaProcessorBuilder() {
 	private ParaProcessorBuilder() {
@@ -66,7 +66,7 @@ public class ParaProcessorBuilder {
 	 * @param defaultValue,默认值,比如int的默认值为0, java.lang.Integer的默认值为null
 	 * @param defaultValue,默认值,比如int的默认值为0, java.lang.Integer的默认值为null
 	 */
 	 */
 	public <T> void regist(Class<T> typeClass, Class<? extends ParaGetter<T>> pgClass, String defaultValue){
 	public <T> void regist(Class<T> typeClass, Class<? extends ParaGetter<T>> pgClass, String defaultValue){
-		this.typeMap.put(typeClass.getName(), new Holder(pgClass, defaultValue));
+		this.typeMap.put(typeClass, new Holder(pgClass, defaultValue));
 	}
 	}
 
 
 	public ParaProcessor build(Class<? extends Controller> controllerClass, Method method) {
 	public ParaProcessor build(Class<? extends Controller> controllerClass, Method method) {
@@ -117,7 +117,7 @@ public class ParaProcessorBuilder {
 			}
 			}
 			
 			
 		}
 		}
-		Holder holder = typeMap.get(typeClass.getName());
+		Holder holder = typeMap.get(typeClass);
 		if (holder != null) {
 		if (holder != null) {
 			if (null == defaultValue) {
 			if (null == defaultValue) {
 				defaultValue = holder.getDefaultValue();
 				defaultValue = holder.getDefaultValue();