Existe algum motivo para usar Method.getParameterTypes().length no lugar de Method.getParameterCount() para determinar a quantidade de parâmetros de um método?
Grato, Rodrigo
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Existe algum motivo para usar Method.getParameterTypes().length no lugar de Method.getParameterCount() para determinar a quantidade de parâmetros de um método?
Grato, Rodrigo
Ola Rodrigo, estava olhando o codigo fonte do Java eu percebi que o:
Method.getParameterTypes()
ele cria um clone da Array principal de parametros enquanto o:
Method.getParameterCount()
retorna o lenght da array de parametros sem precisar dar o clone. Se você deseja somente pegar a quantidade de paramentros, vai pelo Method.getParameterCount() vai ser "mais rapido".
Outra observação importante é que o Method.getParameterCount() só foi inserido na versão 8 do Java
262 @Override263 public Class<?>[] getParameterTypes() {264 return parameterTypes.clone();265 }270 public int getParameterCount() { return parameterTypes.length; }
Muito obrigado.