变量和字符串之间的操作数类型不兼容

时间:2015-04-09 05:27:58

标签: java

我在一个变量和字符串之间遇到了不兼容的操作数类型的错误。这是我的代码片段。错误发生在@ if(handler ==“CLOSE”)

最重要的是,我是否正确地连接了我的数据库?应该有一个'public void closeDB但是包含语句时会出错。

private DBHandler handler;
public void openDB() throws SQLException
    {
        // Open the DB Connection
        final String DBURL = "example";
        final String DBUSER = "example";
        final String DBPASS = "example";

        DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
        Connection con = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
        Statement statement = con.createStatement();
    }

    public void setFileName(String fileName)
    {
        this.fileName = fileName;
    }

    public void setMySQL( String mySQL )
    {
        this.mySQL = mySQL;
    }

    public ResultSet retrieveTheData(  ) throws SQLException
    {
        if ( handler == null )
        {
            // Create a new connection
        }

        if ( handler == "CLOSE" )
        {
            // Open the connection
        }

        // Message the Data 


        ResultSet rs;
        return rs;
    }

3 个答案:

答案 0 :(得分:2)

使用字符串' equals(Object anObject)完成工作:

"CLOSE".equals(handler.toString())

答案 1 :(得分:0)

如果你不确定处理程序(字符大小写),你可以使用equalsIgnoreCase(),否则只需将equals()方法作为

"CLOSE".equalsIgnoreCase(handler.toString());

"CLOSE".equals(handler.toString());

答案 2 :(得分:0)

您也可以使用

handler.toString().equals( "CLOSE" )

但@sumit Singh采用

回答
"CLOSE'.equals(handler.toString()) 

而不是

handler.toString().equals( "CLOSE" ) ) 

防止空指针异常。

如果你想要处理那个差异,最好使用我的答案并抓住它的空指针异常