我认为这是不可能的,但让我们试试:
是否可以编写例程analyzeArrayList() 以打印ArrayList 的维度和列表的底部类型。
示例代码应打印:
维度 = 2 和底部类型 = 类 java.lang.Float
维度 = 3 和底部类型 = 类 java.lang.Integer
我们假设参数 s 始终是 ArrayList 的实例,而不是其他类型的实例。请注意,列表可能为空但不为空。
void analyzeArrayList(Object s)
{
int dimension;
String typeString;
//<Some code here!>
System.out.println("Dimension = "+dimension+" and Bottom type = "+typeString);
}
Object s = new ArrayList<ArrayList<Float>>();
Object t = new ArrayList<ArrayList<ArrayList<Integer>>>();
.
.
analyzeArrayList(s);
analyzeArrayList(t);
对此发表评论:
有趣的是,如果您有一个带有字段的对象
ArrayList<ArrayList<Float>>
然后你可以写方法
void analyzeArrayList(Field s)
如果您知道 Field s 代表 ArrayList。