繁体   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