diff --git a/src/main/java/org/redkale/convert/ObjectDecoder.java b/src/main/java/org/redkale/convert/ObjectDecoder.java index ec52e9012..4de8bb585 100644 --- a/src/main/java/org/redkale/convert/ObjectDecoder.java +++ b/src/main/java/org/redkale/convert/ObjectDecoder.java @@ -5,7 +5,6 @@ */ package org.redkale.convert; -import org.redkale.util.Creator; import java.lang.reflect.*; import java.util.*; import org.redkale.convert.ext.StringSimpledCoder; @@ -125,10 +124,10 @@ public class ObjectDecoder implements Decodeable { if (Modifier.isStatic(method.getModifiers())) continue; if (Modifier.isAbstract(method.getModifiers())) continue; if (method.isSynthetic()) continue; - if (method.getReturnType() != void.class) continue; if (method.getParameterCount() != 1) continue; if (method.getName().length() < 4) continue; if (!method.getName().startsWith("set")) continue; + if (method.getReturnType() != void.class && method.getReturnType() != clazz) continue; if (factory.isConvertDisabled(method)) continue; if (reversible && (cps == null || !ObjectEncoder.contains(cps, ConvertFactory.readGetSetFieldName(method)))) { boolean is = method.getParameterTypes()[0] == boolean.class || method.getParameterTypes()[0] == Boolean.class;