2013-06-05 2 views
-1

Когда я запускаю следующий код в моем тестовом модуле:testDecodeSingleInt (com.asdf.TestDecoder): java.lang.Integer нельзя использовать для [Ljava.lang.Object;

Object parsedObject = null; 
Integer i = new Integer(bb.getInt()); 
parsedObject = i; 

Я получаю ошибку в строке темы во время вывода во время выполнения с помощью JUnit .. бб является ByteBuffer и parsedObject является объектом. Я использую Java 7 и мой коллега, и я не понимаю, в чем проблема.

Любые идеи?

+1

, пожалуйста, покажите нам всю вашу трассировку стека и весь ваш тест. –

+0

Есть ли способ получить junit для печати всей трассировки стека? Тест представляет собой один вызов этой функции. –

+3

Вы уверены, что 'parsedObject' является' Object'? Сообщение об ошибке указывает, что это 'Object []', и вы не можете использовать 'Integer' для типа массива. – jlordo

ответ

2

[Ljava.lang.Object; это имя для Object []

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

1

Сообщение об ошибке указывает, что parsedObject является Object[], и вы не можете отличить Integer от типа массива.

Object будет java.lang.Object

Object[] является [Ljava.lang.Object

+0

Это не массив. –

0

Согласно этому java: what is this: [Ljava.lang.Object;? вашей ошибки говорит, что вы пытаетесь бросить на объект [], а не к объекту. Итак, как уже говорили некоторые люди, это проблема, отличная от Integer to Object [], которая не разрешена в Java. Убедитесь, что вы не используете объект [] в любом месте вашего кода, который может повлиять на это.

+0

В вопросе я положил объявление для parsedObject. Это объект. –

+0

Я не говорю о parsedObject. Я уже видел ваш комментарий по этому поводу. Я говорю о проверке в целом, потому что это то, что означает ошибка. –

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