java ArrayList循环增加add(对象)总是被最后一个覆盖,把new 对象放在循环里面也是,求大神帮忙 20

BufferedReaderreader;reader=SystemUtil.read();//这是自定义的读取文件的Stringline;SimpleDateForma... BufferedReader reader;
reader=SystemUtil.read();//这是自定义的读取文件的
String line;
SimpleDateFormat sdf=SystemUtil.timeFormat();
List<Employee> list=new ArrayList<Employee>();
try {
while((line=reader.readLine())!=null){
Employee emp=new Employee();
String[] part=line.split("\\:");
emp.setPayrollNum(part[0]);
emp.setPhoneNum(part[1]);
emp.setLastName(part[2]);
emp.setFirstName(part[3]);
emp.setInitial(part[4]);
emp.setDepartNum(Integer.parseInt(part[5]));
emp.setJobTitle(part[6]);
try {
emp.setHireDate(sdf.parse(part[7]));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
list.add(emp);

}

} catch (IOException e) {}
return list;
展开
 我来答
永恒的北极星77
推荐于2018-02-06 · 超过30用户采纳过TA的回答
知道答主
回答量:91
采纳率:58%
帮助的人:19.4万
展开全部

楼主对比下,没发现你的哪里有问题,我是按照你的写的,

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友424de18
2014-11-26
知道答主
回答量:12
采纳率:0%
帮助的人:5.3万
展开全部
你的类成员有静态的,所以最后一次修改时等于把所有类成员变量改了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友faad581
2013-08-12 · 超过29用户采纳过TA的回答
知道答主
回答量:125
采纳率:100%
帮助的人:76万
展开全部
没有被覆盖,你打断点试试
追问
你是说BUG运行么,试过了part的值总是为String[8],这是为什么啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伶俐又顽强灬饼子5252
2013-08-12 · 超过28用户采纳过TA的回答
知道答主
回答量:150
采纳率:0%
帮助的人:85.5万
展开全部
你确定会被覆盖?好好检查一下是不是别的问题
追问
好像不是被覆盖,每次都可以生成不同的对象,但是ArrayList list每次都访问最后一个对象
追答
你在  list.add(emp);    和      return list;    这地方都输出看看里面的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Leo分享
2013-08-12 · TA获得超过754个赞
知道小有建树答主
回答量:1405
采纳率:0%
帮助的人:753万
展开全部
代码写的没问题
读取的文件应该有问题
更多追问追答
追问
文件应该没问题啊
追答
代码是没问题的
我仔细看了下
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 4条折叠回答
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式