在与Junit进行测试时,我似乎无法运行此测试。它仅在失败跟踪上显示错误和“ java.lang.ArrayStoreException”。如果有人可以解决我的问题,那将是一个很大的帮助。 LinkedInUser
是我创建的一个对象,getConnections
方法返回一个List<LinkedInUser>
数据类型。
@Test
public void testSort() throws LinkedInException {//Test sorting
LinkedInUser user0 = new LinkedInUser("Han", null);
LinkedInUser user1 = new LinkedInUser("LUKE", null);
LinkedInUser user2 = new LinkedInUser("leia", null);
user0.addConnection(user1);//Han gets 2 connections
user0.addConnection(user2);
List<LinkedInUser> friends = user0.getConnections();//Transfer to array
Collections.sort(friends);//Sort
Assert.assertEquals(user2, friends.get(0));//Compare
Assert.assertEquals(user1, friends.get(1));
}
最佳答案
看来您正在将LinkedInUser保存为不匹配的类型数组。
Java中的ArrayStoreException
ArrayStoreException in Java occurs whenever an attempt is made to store the wrong type of object into an array of objects. The ArrayStoreException is a class which extends RuntimeException, which means that it is an exception thrown at the runtime.
公共类ArrayStoreException扩展RuntimeException
Thrown to indicate that an attempt has been made to store the wrong type of object into an array of objects. For example, the following code generates an ArrayStoreException:
Object x[] = new String[3];
x[0] = new Integer(0);