Я использую отражение для вызова метода класса, который динамически создается во время выполнения :
public String createJDBCProvider(Object[] args)
Вот как:
Method m = adminTask.getClass().getMethod("createJDBCProvider", Object[].class);
id = (String) m.invoke(adminTask, new Object[]{ "a", "b", "c" });
IDEA предупреждаетмне, что я виновен в redundant array creation for calling varargs method
.
Метод, который я вызываю, на самом деле принимает Object[]
, а не Object ...
, но они, вероятно, эквивалентны и взаимозаменяемы, я думаю, поэтому я продолжаю.
Во время выполнения я получаю:
java.lang.IllegalArgumentException: wrong number of arguments
Так что, возможно, мой Object[]
передается как последовательность Object
с.Это то, что происходит?Если да, то как я могу заставить его не делать этого?