哈希表的键值可以是变量吗

//哈希表fst来接收session中保存的第一范围哈希表
Hashtable fst = (Hashtable)session.
int fstID = goodsPojo.getFstType(); //得到商品的第一范围(goodsPojo是集合类)

System.out.println(fst.get(fstID));

fstID是int类型的,如果单独输出可以输出,如果单独输出fst.get(1)也可以输出,可是写在一起就没有结果,要怎么办。。。

如果你用fst.get(1)能得到结果,且System.out.println(fstID)也能打印结果的话,那么就没理由fst.get(fstID)得不到结果。不过你可以试试把fst里面的所有keys和values打印出来看看,到底里面是什么内容。

Hashtable fst = (Hashtable)session.
int fstID = goodsPojo.getFstType(); //得到商品的第一范围(goodsPojo是集合类)
这两行代码根本 没联系!
再说 前一句也是不对的,session 以键值对形式保存数据。可这样写
Hashtable fst = session.getAttribute("保存时的名字");(也就是键)
然后就可以从 fst 取得你想要的值了!

debug试试~ 跟踪看看每个变量的值,理论上不存在这种问题
实际上可能存在其他的问题或者错误。