Collections
类具有嵌套类private static class EmptyList<E>
,该类具有get(int index)
方法,并且没有默认构造函数。如何调用get(int index)
方法?
答案 0 :(得分:0)
您可以使用以下代码创建java.util.Collections$EmptyList
的实例并调用其get(int)
。代码经过全面测试,并根据要求抛出IndexOutOfBoundsException
。
import java.lang.reflect.Constructor;
import java.util.List;
public class Test {
public static void main(String[] args) throws ReflectiveOperationException {
Class<?> clazz = Class.forName("java.util.Collections$EmptyList");
Constructor<?> constructor = clazz.getDeclaredConstructor();
constructor.setAccessible(true);
List<?> emptyList = (List<?>) constructor.newInstance();
emptyList.get(0);
}
}
仅仅因为我很好奇,您是否可以提供更多有关您为什么要这样做的信息?