Java中,可不可通过String字符串获得同名对象
定义一个Money类,Stringdenomination(面额),doublevalue实例化得到对象yibai,可不可通过String字符串"yibai"获得对象yi...
定义一个Money类,String denomination(面额),double value
实例化得到对象yibai,可不可通过String字符串"yibai"获得对象yibai,从而读取其属性? 展开
实例化得到对象yibai,可不可通过String字符串"yibai"获得对象yibai,从而读取其属性? 展开
6个回答
展开全部
实例化得到对象yibai,实例化一个moneyMap对象。moneyMap以键值对的形式存储yibai对象
Map<String,Money> moneyMap = new HashMap<String,Money>;
Money yibai = new Money("100",100.0);
moneyMap.put("yibai",yibai);
再通过key值"yibai"获得对象yibai,至于怎么获取就不用多说了吧!
Map<String,Money> moneyMap = new HashMap<String,Money>;
Money yibai = new Money("100",100.0);
moneyMap.put("yibai",yibai);
再通过key值"yibai"获得对象yibai,至于怎么获取就不用多说了吧!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-01-23
展开全部
本例中,不需要反射。
通过名字调用实例后的对象,只要判断名称(这里是denomination)相同,即可以了。
List<Money> list=..............
list.add(new Monty("yibai", 100));
for(Money money : list){
if("yibai".equals(money.getDenomination())){
//一百面额的
}
}
通过名字调用实例后的对象,只要判断名称(这里是denomination)相同,即可以了。
List<Money> list=..............
list.add(new Monty("yibai", 100));
for(Money money : list){
if("yibai".equals(money.getDenomination())){
//一百面额的
}
}
追问
这样,如果map中的存储的数据过多的话,不是会很慢嘛。
追答
你这需求,不是反射的问题。因为本身已经有明确的类型、有实例
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个看你怎么设计了。
1.通过反身的方法。
2.用一个类来管理 类的集合。通过固定的方式来取得。
3.工厂模式。
1.通过反身的方法。
2.用一个类来管理 类的集合。通过固定的方式来取得。
3.工厂模式。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
反射。。。。。。。。。。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
少年,好好看看反射机制,这里用发射最合理,百度一下:java reflect ,一切ok
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询