C# arraylist中add方法的使用?
add添加的是对象比如我添加了一个a如果对象a被改动后来我又add了a那么arraylist中的两个对象是不是一样?换句话说:arraylist有没有可能用add方法,记...
add添加的是对象 比如我添加了一个a 如果对象a被改动 后来我又add了a 那么arraylist中的两个对象是不是一样?
换句话说:arraylist有没有可能用add方法,记录同一个对象a在不同时刻下的不同状态?
假如这种方法不行,那么我该怎样实现我的目的? 展开
换句话说:arraylist有没有可能用add方法,记录同一个对象a在不同时刻下的不同状态?
假如这种方法不行,那么我该怎样实现我的目的? 展开
4个回答
展开全部
如果a对象是引用类型,那么添加两次同一个对象到arraylist里面,因为添加了同一个对象的引用,所以两个引用指向的是同一块内存区。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-05-06
展开全部
你的问题不在于ArrayList,而在于下面4句程序中.
String[] fieldlinestr = fieldline.split("=");
HashMap map = new HashMap();
map.put("name", fieldlinestr[0].toUpperCase());
map.put("value", fieldlinestr[1]);
当 fieldline不是这种形式的时候: name=value(也就是没有等号的时候),
以上代码就会抛出异常,因为split()后得到的 fieldlinestr 的长度只有1,
那么你调用map.put("value", fieldlinestr[1]); 就会出ArrayIndexOutOfBoundsException: 1 这种异常
简单的办法是在HashMap map = new HashMap();上面加入一个fieldlinestr数组长度的判断.
另外,站长团上有产品团购,便宜有保证
String[] fieldlinestr = fieldline.split("=");
HashMap map = new HashMap();
map.put("name", fieldlinestr[0].toUpperCase());
map.put("value", fieldlinestr[1]);
当 fieldline不是这种形式的时候: name=value(也就是没有等号的时候),
以上代码就会抛出异常,因为split()后得到的 fieldlinestr 的长度只有1,
那么你调用map.put("value", fieldlinestr[1]); 就会出ArrayIndexOutOfBoundsException: 1 这种异常
简单的办法是在HashMap map = new HashMap();上面加入一个fieldlinestr数组长度的判断.
另外,站长团上有产品团购,便宜有保证
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询