我有这样的:如何知道List.remove()是否为“Unsupported”?
import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;
public class ListTest {
public static void main(String[] args) {
String[] values = { "yes", "no"};
List<String> aa = Arrays.asList(values);
System.out.println(aa.getClass().getName());
aa.remove(0);
}
}
它提供:
$ java ListTest
java.util.Arrays$ArrayList
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.remove(AbstractList.java:161)
at ListTest.main(ListTest.java:12)
问:我明白为什么我得到这个例外。这是因为Arrays.java
内部的ArrayList
类正在使用,它没有remove()
方法。我的问题是,在使用List
他们收到的信息之前,某人(像我这样的任何用户)如何知道它不包含remove
方法?
OP知道这一点。问题在于,如果不知道列表的具体类型,是否有任何方法可以检测到这种缺乏实施。 – ApproachingDarknessFish 2014-09-26 05:53:25