当我在单元测试中运行以下代码时:
Object parsedObject = null;
Integer i = new Integer(bb.getInt());
parsedObject = i;
在 JUnit 运行时输出期间,我在主题行中收到错误。bb 是一个 ByteBuffer,parsedObject 是一个对象。我正在使用 Java 7,我的同事和我对问题所在感到困惑。
有任何想法吗?
[Ljava.lang.Object; 是 Object[] 的名称
您正在尝试将 Integer 转换为数组。
错误消息表明,这parsedObject
是一个Object[]
,并且您不能将 Integer 强制转换为数组类型。
Object
将会java.lang.Object
Object[]
是[Ljava.lang.Object
根据这个java:这是什么:[Ljava.lang.Object;?您的错误表明您正在尝试转换为 Object [],而不是 Object。所以,正如一些人已经告诉你的那样,这就是问题所在,从 Integer 到 Object[] 的转换在 Java 中是不允许的。请确认您没有在代码的任何可能影响此的地方使用 Object[]。