簡體   English   中英

如何設置推斷類型列表的getter和setter?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM