linkedList的size问题,请各位高手指点!
时间:2010-09-25
来源:互联网
我做了一个简单反向ajax的聊天实例,下面是我的方法:
public class JavaChat {
LinkedList messages = new LinkedList();
public void addMessage(String text)
{
if(text != null && text.trim().length()>0){
messages.addFirst(new ChatMsg(text));
//最多保留10条记录
while(messages.size()>10)
{
messages.removeFirst();
}
} System.out.println(messages.size());
WebContext webcon = WebContextFactory.get();
// 获取当前页面的url
String currentPage = webcon.getCurrentPage();
//是用utilThis清除文本框的内容
Util utilThis = new Util(webcon.getScriptSession());
utilThis.setValue("txtchat", "");
//获取正在浏览当前页的所有浏览器会话
Collection sessions = webcon.getScriptSessionsByPage(currentPage);
Util utilAll = new Util(sessions);
//删除chatlog列表里的所有列表项
//utilAll.removeAllOptions("chatlog");
//使用messages集合里集合元素的text属性为chatlog添加列表项
utilAll.addOptions("chatlog", messages,"text");
}
关键是linkedList的问题,本来是满足10条信息后,自动删除第一条,linkedlist的条数总是得到的是1条,请各位高手帮忙解决一下,到底是怎么回事!谢了
public class JavaChat {
LinkedList messages = new LinkedList();
public void addMessage(String text)
{
if(text != null && text.trim().length()>0){
messages.addFirst(new ChatMsg(text));
//最多保留10条记录
while(messages.size()>10)
{
messages.removeFirst();
}
} System.out.println(messages.size());
WebContext webcon = WebContextFactory.get();
// 获取当前页面的url
String currentPage = webcon.getCurrentPage();
//是用utilThis清除文本框的内容
Util utilThis = new Util(webcon.getScriptSession());
utilThis.setValue("txtchat", "");
//获取正在浏览当前页的所有浏览器会话
Collection sessions = webcon.getScriptSessionsByPage(currentPage);
Util utilAll = new Util(sessions);
//删除chatlog列表里的所有列表项
//utilAll.removeAllOptions("chatlog");
//使用messages集合里集合元素的text属性为chatlog添加列表项
utilAll.addOptions("chatlog", messages,"text");
}
关键是linkedList的问题,本来是满足10条信息后,自动删除第一条,linkedlist的条数总是得到的是1条,请各位高手帮忙解决一下,到底是怎么回事!谢了
作者: crystalcup 发布时间: 2010-09-25
JScript code
LinkedList messages = new LinkedList(); public void addMessage(String text) { if(text != null && text.trim().length()>0){ messages.addFirst(new ChatMsg(text)); } //最多保留10条记录 if(messages.size()>10)//if判断下就可以了 { messages.removeFirst(); } System.out.println(messages.size()); WebContext webcon = WebContextFactory.get(); // 获取当前页面的url String currentPage = webcon.getCurrentPage(); //是用utilThis清除文本框的内容 Util utilThis = new Util(webcon.getScriptSession()); utilThis.setValue("txtchat", ""); //获取正在浏览当前页的所有浏览器会话 Collection sessions = webcon.getScriptSessionsByPage(currentPage); Util utilAll = new Util(sessions); //删除chatlog列表里的所有列表项 //utilAll.removeAllOptions("chatlog"); //使用messages集合里集合元素的text属性为chatlog添加列表项 utilAll.addOptions("chatlog", messages, "text"); }
作者: IBM_hoojo 发布时间: 2010-09-25
引用 1 楼 ibm_hoojo 的回复:
JScript code
LinkedList messages = new LinkedList();
public void addMessage(String text)
{
if(text != null && text.trim().length()>0){
messages.addFirst(new ChatMsg(text)); ……
不行,messages的size还是总是一条。不累计 JScript code
LinkedList messages = new LinkedList();
public void addMessage(String text)
{
if(text != null && text.trim().length()>0){
messages.addFirst(new ChatMsg(text)); ……
作者: crystalcup 发布时间: 2010-09-25
CSS code
LinkedList messages = new LinkedList();
放在session中保存,然后取出来再添加、删除,完了后保存session中即可
你的没有保存,没有调用就是一个新的LinkedList 对象,所以才是1的
作者: IBM_hoojo 发布时间: 2010-09-25
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28