以下是我的代码:为什么if ((rs.getString("order_status")) != ordstat)
无效?
String sql = "select order_id, order_dt, order_status, prod_name from orders where user_id = '"+user+"'";
try{
s = con.createStatement();
rs = s.executeQuery(sql);
String ordstat = "Pending";
%>
<%
while( rs.next() ){
if ((rs.getString("order_status")) != ordstat){
%>
<div align="center">
<table border="1" cellpadding="5">
<tr>
<th>Select</th>
<th>Order ID</th>
<th>Name</th>
<th>Date</th>
<th>Status</th>
</tr>
<tr>
<form action = 'deleteorders' >
<td><input type="checkbox"/></td>
<td><%= rs.getString("order_id") %></td>
<td><%= rs.getString("prod_name") %></td>
<td><%= rs.getString("order_dt") %></td>
<td><%= rs.getString("order_status") %></td>
<%
}
}
%>
</form>
</tr>
</table>
<br>
<INPUT TYPE=SUBMIT VALUE="CANCEL">
</div>
<%
}
答案 0 :(得分:4)
试试这个,因为这是推荐的做法
if (!(rs.getString("order_status")).equals(ordstat))
请注意, == 会比较对象的引用,如果您想比较字符串的实际内容,请使用 equals()函数
答案 1 :(得分:0)
在java中使用相等运算符(“==”)检查String意味着您正在有效地将内存中String对象的地址与另一个String对象进行比较。它从不比较字符串的内容。
要比较2个字符串,请始终使用.equals方法
String x = "Hello";
String y = "World";
if (x.equals(y)) //if the strings are equals
System.out.println("Equals");
if (!x.equals(y)) //if the strings are not equal
System.out.println("Not Equal");