使用LinkedList存放了一些对象,比如说有:
Class Receive{}
Class Reply{}
Receive receive = new Receive();
Reply reply = new Reply();
LinkedList lst = new LinkedList();
lst.add(receive);
lst.add(reply);
现在我要取出lst中的内容,但是我并不知道里面存放的内容的具体类型,即不知道第一个元素第二个元素分别为Receive类和Reply类实例。但是我需要提取出lst中的内容,针对每个元素获取里面包含的数据。例如,在Receive中有属性int d;receive实例对其赋值,那么我需要在lst中获取到这个值。
应该如何处理???
谢谢!!!
------解决方案--------------------------------------------------------
object
+
instanceof
网上查一下,例子很多的
------解决方案--------------------------------------------------------
如1楼所说:
Object obj = lst.get(i);
if (obj instanceof Receive) {
...
} else if (obj instanceof Reply) {
...
}
另一种是直接尝试利用反射来获取
Object obj = lst.get(i);
Class clz = obj.getClass();
Field field = clz.getField("id");
Object id = field.get(obj);
System.out.println(id);
------解决方案--------------------------------------------------------
用泛型可以解决这样的问题,,
------解决方案--------------------------------------------------------