在与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);

10-06 15:22