将List <?>转换为List <ObjectType>的最快方法

set*_*ora 0 java generics optimization list

这是一个Java问题.

将a转换List<?>为a 的最快方法是List<ObjectType>什么?我知道这可以通过迭代,请排除该选项.

迭代的例子,

final List<ObjectType> targetList = new ArrayList<ObjectType>();
// API returns List<?> so I have no choice.
List<?> resultList = resultSet.getResults(); 

// This is slow. Average list size is 500,000 elements.
while (resultList != null && !resultList.isEmpty()) {
    for (final Object object : resultList) {
        final ObjectType objectType = (ObjectType) object;
        targetList.add(objectType);
    }
    resultSet = someService.getNext(resultSet);
    resultList = resultSet.getList();
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

Tom*_*Tom 5

这有点可怕但是根据上下文你可能只是投射:

final List<ObjectType> targetList = (List<ObjectType>)problemSolver.getResults(); 
Run Code Online (Sandbox Code Playgroud)