我有實現MarkerInterface對象的列表:如何檢查對象是否有一個字段
List<MarkerInterface> list = new ArrayList<>();
根據我加的人,騎自行車的人或狗對象到列表中的文件。這些類實現MarkerInterface。
list.add(person);
或
list.add(dog);
或
list.add(biker);
一些這些類的子類有:DOG1延伸狗,DOG2延伸狗,... 有些類有parentId的領域,別人沒有按「T。
我想檢查一個對象是否有parentId字段,並打印它的值,如果它存在。 如何做到這一點? 我想:
list.get(i).getParentId();
,但它不會工作,因爲MarkerInterface不能有getParentId()方法(未實現MarkerInterface有parentId的字段中的所有類)。
你需要另外一個接口,比如'MarketWithParent extends MarketInterface',其中'getParent'將被定義,然後你將能夠使用''instanceof'''反射Java實例' –
? http://tutorials.jenkov.com/java-reflection/fields.html – ThisClark
@ThisClark。從技術上講,OP會更好地檢查'getParent_id'作爲方法而不是字段。這個領域很有可能是一個精心設計的課程的私密空間。 –