Cast array de tipo primitivo em array de objetos em java

Por que não posso fazer isso em java?

Object[] o = (Object[])(new int[]{0,1,2,3.14,4});

Eu tenho um método que recebe um objeto e o representa como uma string, mas dependendo do seu tipo (primitivo, invólucro primitivo, matriz, etc ...). Quando eu estava criando um teste de unidade, estava passando uma matriz comoObjet, o que está ok, mas quando executo a conversão desse objeto paraObjeto[ Estou entendendo ClassCastException. Isso está acontecendo apenas com matrizes de tipo primitivo. Existe alguma maneira de evitar esse comportamento? Caso contrário, alguém poderia explicar qual é o motivo desse comportamento na Java Virtual Machin

Qualquer ajuda é muito apreciada

questionAnswers(10)

yourAnswerToTheQuestion