关于List list = new ArrayList()

mrwutong 2006-09-23 09:57:29
最近有个功能要实现,突然碰到这个问题
首先,声明了一个List<BigDecimal> list = new ArrayList<BigDecimal>();\

将list对象做为参数传入一个方法中,

想要得到list中保存的BigDecimal,因为前提是我根本不知道list<这里面是什么对象>

所以想要得到<>中的完整类名(也就是包名加类名)

请问用什么方法可以实现。

谢谢!
...全文
1005 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
hornbilltofy 2006-10-03
  • 打赏
  • 举报
回复
脱裤子放屁,多此一举,把你需要的东西直接当作参数传过去不就可以了,搞得那么复杂,既复杂了算法,又降低了效率.
haitao8686 2006-10-03
  • 打赏
  • 举报
回复
getName();
mrwutong 2006-10-01
  • 打赏
  • 举报
回复
现在inDto,vo都不可以变,我正在编写测试工具
为什么JDK不为list提供这样的方法呢?
mrwutong 2006-09-24
  • 打赏
  • 举报
回复
真的没有办法得到吗???
而我做的这个功能洽洽是list.size()==0的情况
怎么办?请大家想想办法.
zh__ua 2006-09-24
  • 打赏
  • 举报
回复
这个好像做不到,不知你的什么需求要这样,如果一定要得到的话,可以在你的InDto类里定义一个static的变量,让它等于<>里的类,然后要用时取就行了.反正你这个<>里的类在编译时已经是不变的了
mrwutong 2006-09-24
  • 打赏
  • 举报
回复
对,用反射
class InDto{
List<cn.java.Vo> voList;
public List<Vo> getVoList(){
return this.voList;
}
public void setVoList(final List<Vo> voList){
this.voList = voList;
}
}

现在只传InDto类(cn.java.demo.InDto)

调用下面的方法demo.Method(InDto.class)

demoMethod(Class cls) {
怎么样才能得到voList<这里面的完整类名>
}
zh__ua 2006-09-24
  • 打赏
  • 举报
回复
泛型中的<>中的东西只是编译时检查用的,你如果要在程序中得到,只能用list.get(0).getClass().getName()了前提是list不为null也不为空,否则好像没法得到
syhan 2006-09-24
  • 打赏
  • 举报
回复
用反射吗?
mrwutong 2006-09-23
  • 打赏
  • 举报
回复
有没有搞错啊??
我传的是list
我要得到的是list<这里面的东西>
拜托大家看清楚了再说好吗??
gefengxztg 2006-09-23
  • 打赏
  • 举报
回复
getName()
mrwutong 2006-09-23
  • 打赏
  • 举报
回复
错,以上两种方法根本行不通。
ykzhujiang 2006-09-23
  • 打赏
  • 举报
回复
getName()比较好
ykzhujiang 2006-09-23
  • 打赏
  • 举报
回复
getClass().toString()

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧