Skip to content

Commit ceadf9b

Browse files
committed
修复Android平台下,类型方法参数使用Object类型来声明参数时,强转报错问题。
Former-commit-id: 93c74a67818dcd2b6e302e2c63af1cdb8b9c9a0e
1 parent 9230b81 commit ceadf9b

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

Source/Android/luascriptcore/src/main/java/cn/vimfung/luascriptcore/LuaExportTypeManager.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -298,37 +298,37 @@ void setterMethodRoute(LuaContext context, Object instance, String fieldName, Lu
298298
*/
299299
private Object getArgValue(Class<?> argType, LuaValue value)
300300
{
301-
if (argType.isAssignableFrom(int.class))
301+
if (int.class.isAssignableFrom(argType))
302302
{
303303
return value.toInteger();
304304
}
305-
else if (argType.isAssignableFrom(double.class))
305+
else if (double.class.isAssignableFrom(argType))
306306
{
307307
return value.toDouble();
308308
}
309-
else if (argType.isAssignableFrom(boolean.class))
309+
else if (boolean.class.isAssignableFrom(argType))
310310
{
311311
return value.toBoolean();
312312
}
313-
else if (argType.isAssignableFrom(String.class))
313+
else if (String.class.isAssignableFrom(argType))
314314
{
315315
return value.toString();
316316
}
317-
else if (argType.isAssignableFrom(byte[].class))
317+
else if (byte[].class.isAssignableFrom(argType))
318318
{
319319
return value.toByteArray();
320320
}
321-
else if (argType.isAssignableFrom(ArrayList.class))
321+
else if (ArrayList.class.isAssignableFrom(argType))
322322
{
323323
return value.toArrayList();
324324
}
325-
else if (argType.isAssignableFrom(HashMap.class))
325+
else if (HashMap.class.isAssignableFrom(argType))
326326
{
327327
return value.toHashMap();
328328
}
329329
else if (argType.isArray())
330330
{
331-
if (argType.isAssignableFrom(int[].class))
331+
if (int[].class.isAssignableFrom(argType))
332332
{
333333
//转换数组中的Double型为整型
334334
ArrayList itemArr = value.toArrayList();
@@ -339,7 +339,7 @@ else if (argType.isArray())
339339
}
340340
return items;
341341
}
342-
else if (argType.isAssignableFrom(Integer[].class))
342+
else if (Integer[].class.isAssignableFrom(argType))
343343
{
344344
//转换数组中的Double型为整型
345345
ArrayList itemArr = value.toArrayList();
@@ -352,11 +352,11 @@ else if (argType.isAssignableFrom(Integer[].class))
352352

353353
return items;
354354
}
355-
else if (argType.isAssignableFrom(Double[].class))
355+
else if (Double[].class.isAssignableFrom(argType))
356356
{
357357
return value.toArrayList().toArray(new Double[0]);
358358
}
359-
else if (argType.isAssignableFrom(double[].class))
359+
else if (double[].class.isAssignableFrom(argType))
360360
{
361361
ArrayList itemArr = value.toArrayList();
362362
double items[] = new double[itemArr.size()];
@@ -367,11 +367,11 @@ else if (argType.isAssignableFrom(double[].class))
367367

368368
return items;
369369
}
370-
else if (argType.isAssignableFrom(Boolean[].class))
370+
else if (Boolean[].class.isAssignableFrom(argType))
371371
{
372372
return value.toArrayList().toArray(new Boolean[0]);
373373
}
374-
else if (argType.isAssignableFrom(boolean[].class))
374+
else if (boolean[].class.isAssignableFrom(argType))
375375
{
376376
ArrayList itemArr = value.toArrayList();
377377
boolean items[] = new boolean[itemArr.size()];

0 commit comments

Comments
 (0)