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

list.add(String.valueOf(50))你要明白List 的含义,它的意思就是把你添加的数据给控死了,只能为String类型,添加Integer类型的肯定是不行的 ,除非你修改一下,改成List list=new ArrayList();在add就没问题了
java基础面试题:请高手前来帮忙解答
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.parseInt2012-07-20
list.add(String.valueOf(50))
你要明白List<String> 的含义,它的意思就是把你添加的数据给控死了,只能为String类型,添加Integer类型的肯定是不行的 ,除非你修改一下,改成List list=new ArrayList();在add就没问题了2012-07-20
你设定了泛型String 只能存String格式
list.add("50")
提出来Integer.parseInt(s)转换吧。

你的补充问题,也是object格式,不是int 照样要转2012-07-22
将List的泛型改成Object 但是每次取出数据的话都得强制转换的说,
而且 每次只能用Object的子类强转 类似 的有Integer String Double Long Charset 这样2012-07-20
添加时用String.valueOf(50),取出时也要转换的,用Integer.parseOf(list[ x ]),x为50用所在的数组下标,纯手机手打,楼主给分2012-07-20
用不带泛型的list引用指向它,你就可以加任何类型了.当然取出来也是对应的类型.2012-07-20
list.add("50")2012-07-20
.....2012-07-20
list.add("50");2012-07-20
mengvlog 阅读 52 次 更新于 2025-12-23 13:16:16 我来答关注问题0
檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部