我有這樣的:如何知道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