![](/img/trans.png)
[英]How should I set up getter and setter which is key - value type in Firebase Realtime Database?
[英]How do I set up an inferred type list getter and setter?
List<T> objectList = null;
public <T> List<T> getObjectList() { return this.objectList; }
public <T> void setObjectList(List<T> objList) { this.objectList = objList; }
問題似乎是字段聲明。 從語義上講,我想知道為什么,由於目標是推斷類型,所以這是行不通的。
從短期收益的角度來看,我只是想要一些可行的方法。
如果有人能指導我通過示例對推斷類型進行詳細(即深入)討論,那將是錦上添花。
上下文是從請求-響應總線消息返回的原始字符串,需要將其反序列化為類似javabean對象的列表。 我意識到我可以創建一個標記接口並使所有javabeans隱含它,但是,這對我來說似乎是一種荒謬的解決方案。
JDK 1.6(沒有機會升級到7或8)
您已經輸入了方法......-從get / set方法中刪除<T>
:
public List<T> getObjectList() { return this.objectList; }
public void setObjectList(List<T> objList) { this.objectList = objList; }
當你編碼
public <T> List<T> getObjectList() { return this.objectList; }
public <T> void setObjectList(List<T> objList) { this.objectList = objList; }
最初的<T>
聲明了方法調用范圍的類型,並且您對通用參數使用了與類相同的名稱,因此方法類型隱藏了類類型。
您是否編碼:
public <X> List<T> getObjectList() { return this.objectList; }
public <X> void setObjectList(List<T> objList) { this.objectList = objList; }
它也將工作。 當然, X
泛型參數將被忽略,但是至少很明顯它是不必要的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.