Q:如何把 Activity
实例放到一个泛型为 String
的 ArrayList
中去
这一个题目考察的是泛型擦除的概念
方法一:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
private List<String> strList; private void () { strList = new ArrayList<>(); strList.add("你好"); try { Field strField = getClass().getDeclaredField("strList"); strField.setAccessible(true); List list = (List) strField.get(this); list.add(this); Log.d(TAG, "onCreate: " + list.size()); } catch (NoSuchFieldException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } Log.d(TAG, "onCreate: strList.size = " + strList.size()); }
|
方法二:
1 2 3
|
List<String> strList = new ArrayList<>(); List<Activity> acList = strList; acList.add(activity);
|
近期评论