2013-10-07 4 views
0

Я изменяю программу, и она имеет Class[] paramTypes для хранения типа ввода. Тогда мой вопрос: как я могу назначить значение для каждой ячейки массива? Я могу сделать это paramTypes = new Class[]{int.class,double.class,String.class} для назначения paramTypes, но когда я пытаюсь назначить каждую ячейку в цикле, как paramTypes[i] = int.class, он показывает исключение NullPointerException. Так как же я делаю это для цикла?Как назначить значение для объекта массива класса?

Это метод:

public MethodCall(String className, 
     String methodName, 
     Class[] paramTypes, 
     Object[] params) { 
    this.className = className; 
    this.methodName = methodName; 
    this.paramTypes = paramTypes; 
    this.params = params; 
} 

Это пример:

MethodCall methodCall = new MethodCall("Foo", "bar", new Class[]{int.class,double.class},new Object[]{new Integer(10), new Double(123.0)}); 

ответ

0

Вы должны инициализировать массив первым.

paramTypes = new Class[4]; // or some other number 
for(...){ 
    paramTypes[i] = int.class; 
} 
+0

Могу ли я инициализировать массив динамически? Потому что я не знаю длину ввода. – CodTango

+0

Вы имеете в виду, что у вас есть размер в переменной? Да ты можешь. Почему бы вам не попробовать? – Mohayemin

Смежные вопросы