簡體   English   中英

將值作為參數傳遞給函數

[英]Passing values List as parameter a function

我通過使用反射來處理Java類,我列出了不同類型的對象:

public List<Object> MethodSignatureObjects

並且,我需要使用以下邏輯來調用方法:

   Class<?> c = Class.forName("class name");
   Method  method = c.getDeclaredMethod ("method name", parameterTypes)
   method.invoke (objectToInvokeOn, params)

有什么方法可以將包含在MethodSignatureObjects上的對象放在getDeclaredMethod上,我的意思是,像這樣:

Method  method = c.getDeclaredMethod (methodName, param1.class, param2.class, ..); 

其中parameter1,parameter2,parameter n ....來自MethodSignatureObjects

我真的很贊賞任何建議。

非常感謝。

您不能將列表但數組傳遞給方法

// List<Object> methodSignatureObjects

int size = methodSignatureObjects.size();
Class<?>[] asArray = new Class<?>[size];
for ( int i = 0; i < size; i++ ) {
    asArray[i] = methodSignatureObjects.get(i).getClass();
}

Class<?> c = Class.forName("class name");
Method method = c.getDeclaredMethod("method name", asArray);
method.invoke (objectToInvokeOn, params)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM