全局变量问题
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方法解决