几个Java问题,请高手解答,谢谢!

jordan1 2006-10-15 09:41:49
1。在Struts的Action中不能定义类变量,是因为容器中每个Action只有一个实现.Servlet有没有这样的问题,也不能定义类变量吗?
2。HashMap和Hashtable存储数据为什么不能保证它们的顺序。
3。数据库执行use usertable(usertable是一个表名)时返回什么结果,为什么不能把这名话放在一个既有删除语句又有插入语句的Bath中一块执行。
4。用FindBugs检查代码的时候总是会警告“产生preparedStatement用了一个非常量的字符串“。即使在一个statement中执行一个语句,也会警告用了一个非常量的字串。用一个非常量的字符串生成一个preparedStatement有什么bug。应该怎么做。


请高手讲解,最好能详细一点,分不够小弟可再开帖给分,谢谢!
...全文
501 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ilovejavaverymuch 2007-03-14
  • 打赏
  • 举报
回复
1。不能在servlet中最好也不要定义
2。不能保证顺序
3。应该是use database吧
4。写成常量就可以了。
hawkeyes0 2006-12-12
  • 打赏
  • 举报
回复
3。数据库执行use usertable(usertable是一个表名)时返回什么结果,为什么不能把这名话放在一个既有删除语句又有插入语句的Bath中一块执行。
==========================================================
use 一张表?不记得有这种用法,USE 的语法只有 USE {DATABASE} 一种,而且执行的时候后面一定要加个 GO
Gotop4u 2006-12-11
  • 打赏
  • 举报
回复
HashMap基于散列的原理实现的,其目的就是内部进行的重新排列以提高查询速度,自然不会保存原有的顺序,Hashtable应该也是一样的
jk88811 2006-12-10
  • 打赏
  • 举报
回复
3。这是MySQL里的用法吗?这个就不要在代码里用了,不然怎么在数据库之间移植呀!

4。没觉得有什么问题,请高手进来回答。。。
awusoft 2006-12-10
  • 打赏
  • 举报
回复
1 怎么会能没有呢?你自己写一个类去继续超类就可以了嘛,action也是servlet,你可以自己写类实现
jk88811 2006-12-10
  • 打赏
  • 举报
回复
1. 不知道,才刚开始学习Struts,其实我打算学习Struts2,也就是Webwork2.2..呵呵

2。HashMap继承自AbstractMap, 后者实现了Map接口,而Map接口并不确保元素顺序。
Hashtable继承自Dictionary,应该尽量避免使用,也不保证顺序。
SortedMap接口提供你需要的功能,具体使用的就是TreeMap
jsjzzh 2006-12-10
  • 打赏
  • 举报
回复
2.HashMap和Hashtable是根据hashCode的不同进行存储的,没有顺序,如果想要有序的,可以用Treemap.

3.use 是什么数据库的命令啊,foxbase有这个命令,打开数据库的意思.
jordan1 2006-12-10
  • 打赏
  • 举报
回复
自己顶一下,高手们快来吧!
acd123456 2006-10-22
  • 打赏
  • 举报
回复
1。在Struts的Action中不能定义类变量,是因为容器中每个Action只有一个实现.Servlet有没有这样的问题,也不能定义类变量吗?
不是不能,Servlet非线程安全,可能导致变量状态混乱
2。HashMap和Hashtable存储数据为什么不能保证它们的顺序。
value地址根据key计算,所以是无序的
tcmis 2006-10-22
  • 打赏
  • 举报
回复
帮顶。。
jordan1 2006-10-22
  • 打赏
  • 举报
回复
晕,怎么没有人来拿分吗?


顶都有分!
jordan1 2006-10-20
  • 打赏
  • 举报
回复
人好少啊!
ftiger 2006-10-15
  • 打赏
  • 举报
回复
2,要保持顺序请用LinkedHashMap ,要排序请用TreeMap,这两个对象效率都比HashMap低,算法问题。

3,use usertable是什么意思??

4,用了一个非常量的字符串,好象意思是java规范建议不使用
getSting("userName");这种方式,而是建议在某个地方建立常量字典。

Public Class User{
/** 用户名*/
public static final String UESR_NAME="userName";
}
getSting(User.UESR_NAME);
这样输入错误会减少,更容易修改,更好的阅读,特别使用好的IDE的情况下。

但我只用有一半的代码这样用:)好象有点麻烦。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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