我在一个变量和字符串之间遇到了不兼容的操作数类型的错误。这是我的代码片段。错误发生在@ 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;
}
答案 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" ) )
防止空指针异常。
如果你想要处理那个差异,最好使用我的答案并抓住它的空指针异常