浏览代码

jfinal 4.3

James 6 年之前
父节点
当前提交
f0fbf52a7e

+ 5 - 3
src/main/java/com/jfinal/proxy/ProxyGenerator.java

@@ -116,9 +116,11 @@ public class ProxyGenerator {
 			Long proxyMethodKey = ProxyMethodCache.generateKey();
 			method.set("proxyMethodKey", proxyMethodKey);
 			
-			// 方法仅有一个可变参数时传递一个 boolean onlyVarArgs 为 true
-			if (paras.length == 1 && paras[0].isVarArgs()) {
-				method.set("onlyVarArgs", true);
+			// 方法仅有一个 "可变" 或者 "数组" 参数时传递 onlyVarArgs = true
+			if (paras.length == 1) {
+				if (paras[0].isVarArgs() || paras[0].getType().isArray()) {
+					method.set("onlyVarArgs", true);
+				}
 			}
 			
 			if (m.getReturnType() != void.class) {

+ 1 - 1
src/main/java/com/jfinal/proxy/proxy_class_template.jf

@@ -69,7 +69,7 @@ public class #(name)#(classTypeVars) extends #(targetName)#(targetTypeVars) {
 		
 		Invocation inv = new Invocation(this, #(x.proxyMethodKey)L,
 			args -> {
-				#setLocal(t = x.paraTypes[0].replace("...", ""))
+				#setLocal(t = x.paraTypes[0].replace("...", "").replace("[]", ""))
 				#(t)[] array = new #(t)[args.length];
 				for (int i=0; i<array.length; i++) {
 					array[i] = (#(t))args[i];