日期:2014-05-20  浏览次数:20614 次

全局变量问题
public   String   CheckChargeRule(String   code)
{
String   checkCR   =   null;
BusinessDao   bd   =   new   BusinessDao();
String[]   getCR   =   bd.getChargeRule();
for(int   i   =   0;i <getCR.length;i++)
{
if(getCR[i]   ==   code)
{
checkCR   =   "checked ";
break;
}
}
return   checkCR;
}
checkCR返回的值只是null,请问能让他返回checked吗?有实现的方法吗?谢谢!

------解决方案--------------------
好奇怪,这好像不是一个编程问题,而是一个设计问题。

你需要搞清楚,getChargeRule()返回的是什么,以及你传给CheckChargeRule()方法的参数是什么。不了解你的设计,没法回答你的问题。
------解决方案--------------------
如果传入的string code和BusinessDao中的getcharrule()值相同就出现checkCR = "checked ";了呀。

------解决方案--------------------
在JAVA中有全局变量这么一说吗 ?
------解决方案--------------------
enen
------解决方案--------------------
这个问题可以啃定的是你的 IF语句没有里的内容没有被运行到

其中可能有两个方面的原因存在:

一、是你的IF(getCR[i] == code)这个表达式里的值不存在相等的情况

二、如果你确定getCR[i]和code有相等的什值,而没有能执行IF括号中的语句
那么你在IF表达式中用equals()方法来判断两个值是否相等
因为在判断两个字符串是否相等时,如果用==来比较,比较的是引用对像的引用址是 否想同,而不是引用对像指向的值是否想同.
------解决方案--------------------
ls正解,是对象的比较,怎么能用==呢,应该用.equals();
------解决方案--------------------
==是浅度对象比较,equals方法是深度对象比较,==比较的是两个对象是否是指向同一引用,EQUALS比较是两个对象的内容,所以你的问题要用EQUALS方法解决