我是在 java 中使用泛型的新手,我有一个简单的方法,我想从中返回任何类型,这个方法返回其他类getters
方法,例如我有channels
类并且有getChannelId()
方法,我想从这个方法返回:
@SuppressWarnings("unchecked")
public <T extends Channels> T getChannelColumn(ChannelContentModel.channelColumns column) {
switch (column) {
case id:
return (T) channel.getId();
break;
case title:
return (T) channel.getChannelTitle();
break;
}
return null;
}
getId
是 int 和getChannelTitle
string,我如何修复此方法以返回任何类型?
在我的代码中channel
是Channels
类的实例,提前致谢
正如@Geckstar 所评论的;
Java 是静态类型的
但是可以从编译错误中清除代码示例。
这不是一个好的解决方案,它只是修复编译错误。但是这种方法的使用可能会导致运行时失败。
@SuppressWarnings("unchecked")
public <T extends Object> T getChannelColumn(ChannelContentModel.channelColumns column) {
switch (column) {
case id:
return (T) channel.getId(); //int must be Integer
case title:
return (T) channel.getChannelTitle();
}
return null;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句