diff --git a/src/org/redkale/convert/Factory.java b/src/org/redkale/convert/Factory.java index acd1a8428..608b5cfbf 100644 --- a/src/org/redkale/convert/Factory.java +++ b/src/org/redkale/convert/Factory.java @@ -353,7 +353,7 @@ public abstract class Factory { for (final Method method : clazz.getDeclaredMethods()) { if (!Modifier.isStatic(method.getModifiers())) continue; if (method.getParameterTypes().length != 0) continue; - if (method.getReturnType() != SimpledCoder.class) continue; + if (!SimpledCoder.class.isAssignableFrom(method.getReturnType())) continue; try { method.setAccessible(true); simpleCoder = (SimpledCoder) method.invoke(null); @@ -431,7 +431,7 @@ public abstract class Factory { for (final Method method : clazz.getDeclaredMethods()) { if (!Modifier.isStatic(method.getModifiers())) continue; if (method.getParameterTypes().length != 0) continue; - if (method.getReturnType() != SimpledCoder.class) continue; + if (!SimpledCoder.class.isAssignableFrom(method.getReturnType())) continue; try { method.setAccessible(true); simpleCoder = (SimpledCoder) method.invoke(null);