java基础面试题:请高手前来帮忙解答 20

如题:List<String>list=newArrayList<String>();list.add("abc");以上代码很容易理解没什么问题,关键是如何在该集合中添... 如题:List<String> list = new ArrayList<String>();
list.add("abc");
以上代码很容易理解没什么问题,关键是如何在该集合中添加一个Integer类型的数据:list.add(50) ?
直接添加肯定是不行的,编译时肯定要报错,那怎么能添加进去呢?
而且还要保证我们取出来时数据类型还是Integer而不是变成String类型的??
加进去啦
List list1 = list;
list1.add(50);
for (Object object : list) {
System.out.println(object);
}

还有一种是利用反射

/*Method m = list.getClass().getMethod("add", Object.class);
m.invoke(list, 50);
for (Object s : list) {
System.out.println(s);
}*/
展开
 我来答
xiaoliang_159
2012-07-20 · TA获得超过129个赞
知道答主
回答量:136
采纳率:0%
帮助的人:75.4万
展开全部
list.add(String.valueOf(50))
你要明白List<String> 的含义,它的意思就是把你添加的数据给控死了,只能为String类型,添加Integer类型的肯定是不行的 ,除非你修改一下,改成List list=new ArrayList();在add就没问题了
cs6641468
2012-07-20 · TA获得超过5713个赞
知道大有可为答主
回答量:863
采纳率:100%
帮助的人:991万
展开全部
1.有人说去掉泛型,这是一个很烂的习惯,完全可以用
List<Object> list = new ArrayList<Object>();来达到无泛型的效果
2.去掉泛型或者用List<Object>还是有问题,因为你取数据的时候取到的都是Object,需要转换为Integer或者String. 问题是:你知道哪个元素要转成Integer,哪个元素又要转成String??
3.你的这个设计要求就是有问题的,List这个对象的设计就不可能满足你的要求。你就不该采用一个List来设计:
(1).如果你有一批String和一批Integer,那么请建立两个List:List<String>和List<Integer>
(2).如果你只有几个String和几个Integer,数目是固定的,你可以自己建一个对象来装这个结果
class myobj{
Integer i;
String s;
//其他对象
}

当然,如果你这个题目只是玩花哨,只在List<String>里面装Integer,那你可以使用String.valueOf 和Integer.parseInt
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6af1a94
2012-07-22 · 超过10用户采纳过TA的回答
知道答主
回答量:124
采纳率:0%
帮助的人:62.5万
展开全部
你设定了泛型String 只能存String格式
list.add("50")
提出来Integer.parseInt(s)转换吧。

你的补充问题,也是object格式,不是int 照样要转
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jibak
2012-07-20 · 超过28用户采纳过TA的回答
知道答主
回答量:147
采纳率:100%
帮助的人:97万
展开全部
将List的泛型改成Object 但是每次取出数据的话都得强制转换的说,
而且 每次只能用Object的子类强转 类似 的有Integer String Double Long Charset 这样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fmruck
2012-07-20
知道答主
回答量:77
采纳率:0%
帮助的人:20.8万
展开全部
添加时用String.valueOf(50),取出时也要转换的,用Integer.parseOf(list[ x ]),x为50用所在的数组下标,纯手机手打,楼主给分
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式