繁体   English   中英

字符串比较在Java中不起作用

[英]String Comparison not working in Java

这是我的代码:为什么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>
<%

}

尝试一下,因为这是推荐的方法

if (!(rs.getString("order_status")).equals(ordstat))

请注意, ==比较对象的引用,如果要比较字符串的实际内容,请使用equals()函数

在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");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM