Преобразование массива примитивных типов в массив объектов в java

Почему я не могу сделать это в java?

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

У меня есть метод, который получает объект и затем представляет его как строку, но в зависимости от его типа (примитив, примитивная оболочка, массив и т. д.). Когда я создавал модульный тест, я передавал массив как Object , что нормально , но когда я выполняю приведение этого объекта в Object [] , я получаю ClassCastException . Это происходит только с массивами примитивных типов. Есть ли способ избежать такого поведения? Если нет, мог бы кто-нибудь объяснить, в чем причина такого поведения на виртуальной машине Java.

Любая помощь приветствуется.

31
задан Duncan Jones 14 August 2014 в 13:19
поделиться