summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/java/reflect.java3
-rw-r--r--ext/rpc/java/reflect.java3
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();