一个java类中的自定义String常量,为何在tomcat中,重启tomcat还依然存在之前的值而不会读取新的值? 20

自己的类,定义了多个Stringstaticfinal的常量值,当调试程序时,改变这些变量的值无效,仍然是之前的值。项目在tomcat中运行。尝试了几种方法,如清空tom... 自己的类,定义了多个String static final 的常量值,当调试程序时,改变这些变量的值无效,仍然是之前的值。项目在tomcat中运行。尝试了几种方法,如清空tomcat/work中的数据、重启tomcat、甚至删除该类的.class文件之后再重启tomcat,值依然都能被程序调用。web项目,struts2的action读常量值传给另一个action,上述方法都尝试后,都能传给第二个action,而且都是最初的值。但有些时候,可能修改值后长时间不调用这些值,再调用时又是新值。所以我怀疑是什么东西在缓存,但具体不知道怎么回事,还请高手解答!分不多了,有点对不住大虾们了!
看来我没说清楚,我不是说我在程序里修改常量值, 我还没傻到那地步,呵呵 ~~
我是说我把.java的值改了再翻译,运行程序取的还是我没改之前的。
但说不上什么时候,就突然变成新改的了,一般都是我比如20分钟没有运行任何程序什么的。
展开
 我来答
百度网友7c9782826
2012-06-26
知道答主
回答量:34
采纳率:0%
帮助的人:23.1万
展开全部
重新编译所有用到这些常量的类文件。然后再重新发布整个应用试试。
追问
重新发布了,tomcat也是先关,然后copy所有新class,再开tomcat还是一样
追答
可以尝试对用的类文件改动之后再重新编译试一下。可能是在重新编译的时候编译器发现文件没有改动并没有真正的重新编译。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flyingFish211
2012-06-26 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
定义了多个String static final 的常量值,当调试程序时,改变这些变量的值无效 ===〉final类型的变量,不管怎么样都不可以修改的,已经是final了。。。

你debug尝试修改应该会报错才对阿
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mingtian15151
2012-06-27 · TA获得超过116个赞
知道小有建树答主
回答量:280
采纳率:0%
帮助的人:147万
展开全部
额 finl的值只能初始化一次的,,亲,后来不管怎样调用在复赋值都是无效的哦 亲。汗,其实学java主要注重基础哦。祝你学习愉快
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
23...0@qq.com
2012-06-26 · 超过17用户采纳过TA的回答
知道答主
回答量:78
采纳率:0%
帮助的人:50.8万
展开全部
final就和定义常量一样了,你把final去掉试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友66ef1dc
2012-06-26 · 超过15用户采纳过TA的回答
知道答主
回答量:30
采纳率:0%
帮助的人:28.3万
展开全部
变量值 被关键字final 定义了就无法改变了 建议最好补习一下java SE的基础知识
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式