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

急急急!!!各位能人指点一个字符串比较的问题
我在写JSP代码:其中一段是比较两个字符串是否相等,以下是我的代码:
<%@   page   import= "java.sql.* "%>  
<%@   page   import= "javax.swing.* "%>  
<%@   page   import= "java.lang.* "%>  

strTemp1=strTempUrl[i];
strTemp2=rs.getString(1);
if   (strTemp1.equals(strTemp2))   {%>
<%
        .......
        }

但总是编译通不过,提示java.lang.NullPointerException
请指教谢谢


------解决方案--------------------
strTemp1是空值
------解决方案--------------------
那不是“编译”通不过,是执行错误。


if (strTemp1.equals(strTemp2))
改为:
if (null != strTemp1 && strTemp1.equals(strTemp2))
试试
------解决方案--------------------
strTemp1,strTemp2两个都有值
================================================================

strTemp1=strTempUrl[i];
strTemp2=rs.getString(1);
if (strTemp1.equals(strTemp2)) {%>
<%
.......
}
==================================================================
你的两个变量估计都是放在循环体中,是不是循环到某个地方是,就出现null了?
你就用
if (null != strTemp1 && null != strTemp2 && strTemp1.equals(strTemp2))试试吧

------解决方案--------------------
strTemp2=rs.getString(1); // rs ???
如果是从数据里获取数据的话,应该放在try - catch 语句里面
------解决方案--------------------
NullPointerException

strTemp1引用为null.
我也不知道strTemp1你做了什么处理!
strTempUrl[i] return 什么?
你检查strTempUrl[i]的返回有问题吗?print下!可能使strTemp1变量有问题。
equals method 是String类实现CharSequence接口的方法。