为什么要用int[]数组来表示呢?

pirateRocy 2003-09-07 09:13:41
这是一个简单的Listener类,代码如下:

package com.ora.jsp.servlets;
import javax.servlet.*;
import javax.servlet.http.*;

public class SessionCounterListener implements HttpSessionListener {
private static final String COUNTER_ATTR = "session_counter";

public void sessionCreated(HttpSessionEvent hse) {
int[] counter = getCounter(hse);
counter[0]++;
}

public void sessionDestroyed(HttpSessionEvent hse) {
int[] counter = getCounter(hse);
counter[0]--;
}

private int[] getCounter(HttpSessionEvent hse) {
HttpSession session = hse.getSession( );
ServletContext context = session.getServletContext( );
int[] counter = (int[]) context.getAttribute(COUNTER_ATTR);
if (counter == null) {
counter = new int[1];
context.setAttribute(COUNTER_ATTR, counter);
}
return counter;
}
}

我的问题是:为什么要用int[]数组来表示计数器呢?一个简单的int类型不行吗?

...全文
86 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
swinging 2003-09-13
  • 打赏
  • 举报
回复
除了whyxx(风之子) 所说的原因,实在想不到更好的了,

之所以用数组,我估计是为了计算方便。

我不明白,为什么不直接使用一个类变量来计数。
那样做谁都一眼能看明白。
long_zhi 2003-09-07
  • 打赏
  • 举报
回复
同意whyxx(风之子)
noratong 2003-09-07
  • 打赏
  • 举报
回复
不会是那个原因吧,简单类型也可以转变啥。
pirateRocy 2003-09-07
  • 打赏
  • 举报
回复
to whyxx(风之子)
按你的说法,如果用Integer类型,也可以解决问题了,对吗?
whyxx 2003-09-07
  • 打赏
  • 举报
回复
我看这里是因为getAttribute和setAttribute函数里的参数只能是object类型的,而int是简单变量,不能直接传进去

81,094

社区成员

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

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