List removeAll

shingching 2009-12-30 03:33:14
问题:
读取一个文本文件,用逗号分隔,拿到一个String类型的name1List,从数据库表中拿到的一个name2List
然后用数据库表中的nameList2.removeAll(name1List),应该输出name2List的结果是去掉name1List后的所有name,但是英文的可以remove掉,中文确不行,在后台打印name的值,中文并没有乱码问题,还请高手帮忙。
...全文
182 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
crazylaa 2009-12-31
  • 打赏
  • 举报
回复
可能是空格问题,文本文件拿的要去空格,数据库拿的也要去空格。
teemai 2009-12-30
  • 打赏
  • 举报
回复
如果不是空格问题原因很可能是文本中的换行符作怪!
因为文中每换一行结尾会有一个"\r\n",去掉这个再试试
sean1203 2009-12-30
  • 打赏
  • 举报
回复
下面是contains方法里面调用的indexOf方法

public int indexOf(Object elem) {
if (elem == null) {
for (int i = 0; i < size; i++)
if (elementData[i]==null)
return i;
} else {
for (int i = 0; i < size; i++)
if (elem.equals(elementData[i]))
return i;
}
return -1;
}

sean1203 2009-12-30
  • 打赏
  • 举报
回复
但是lz问题不清楚
sean1203 2009-12-30
  • 打赏
  • 举报
回复

public boolean removeAll(Collection<?> c) {
boolean modified = false;
Iterator<?> e = iterator();
while (e.hasNext()) {
if (c.contains(e.next())) {
e.remove();
modified = true;
}
}
return modified;
}

原来在AbstractCollection里面
我先理解理解
shingching 2009-12-30
  • 打赏
  • 举报
回复
是我的一个学生出现的这样的问题,我这没有代码,我取出空格再试试,先谢谢了!
oklinsong 2009-12-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 brodie 的回复:]
没有乱码,就只能看看有没有空白或者换行之类的特殊字符了。
[/Quote]顶!
coveking 2009-12-30
  • 打赏
  • 举报
回复
中文编码确定没有问题吗,那么去除空格再试试
justinavril 2009-12-30
  • 打赏
  • 举报
回复
能贴下你代码 和 中文名字都有哪些吗?
Brodie 2009-12-30
  • 打赏
  • 举报
回复
没有乱码,就只能看看有没有空白或者换行之类的特殊字符了。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧