diff options
-rw-r--r-- | ext/java/reflect.java | 3 | ||||
-rw-r--r-- | ext/rpc/java/reflect.java | 3 |
2 files changed, 2 insertions, 4 deletions
diff --git a/ext/java/reflect.java b/ext/java/reflect.java index f2bc02a2f6..0f8992c203 100644 --- a/ext/java/reflect.java +++ b/ext/java/reflect.java @@ -201,8 +201,7 @@ class reflect { private static Object[] coerce(Class parms[], Object args[]) { Object result[] = args; for (int i=0; i<args.length; i++) { - if (parms[i].isInstance(args[i])) continue; - if (args[i] instanceof byte[] && parms[i].isInstance("")) { + if (args[i] instanceof byte[] && !parms[i].isArray()) { result[i] = new String((byte[])args[i]); } else if (args[i] instanceof Number && parms[i].isPrimitive()) { if (result==args) result=(Object[])result.clone(); diff --git a/ext/rpc/java/reflect.java b/ext/rpc/java/reflect.java index f2bc02a2f6..0f8992c203 100644 --- a/ext/rpc/java/reflect.java +++ b/ext/rpc/java/reflect.java @@ -201,8 +201,7 @@ class reflect { private static Object[] coerce(Class parms[], Object args[]) { Object result[] = args; for (int i=0; i<args.length; i++) { - if (parms[i].isInstance(args[i])) continue; - if (args[i] instanceof byte[] && parms[i].isInstance("")) { + if (args[i] instanceof byte[] && !parms[i].isArray()) { result[i] = new String((byte[])args[i]); } else if (args[i] instanceof Number && parms[i].isPrimitive()) { if (result==args) result=(Object[])result.clone(); |