title: How to compare string and object in Java
body: <p>I have this code snipped which I use for input validation:</p>
  
  <pre><code>public void validaUserID(FacesContext context, UIComponent component, Object value) throws ValidatorException, SQLException {
  
          int findAccount = 0;
  
          if (ds == null) {
              throw new SQLException("Can't get data source");
          }
          // Initialize a connection to Oracle
          Connection conn = ds.getConnection();
  
          if (conn == null) {
              throw new SQLException("Can't get database connection");
          }
  
          // Convert Object into String
          int findValue = Integer.parseInt(value.toString()); 
  
          // With SQL statement get all settings and values
          PreparedStatement ps = conn.prepareStatement("SELECT * from USERS where USERID = ?");
          ps.setInt(1, findValue);
          try {
              //get data from database        
              ResultSet result = ps.executeQuery();
              while (result.next()) {
                  // Put the the data from Oracle into Hash Map
                  findAccount = result.getInt("USERID");
              }
          } finally {
              ps.close();
              conn.close();
          }
  
          // Compare the value from the user input and the Oracle data
          if (value.equals(findAccount)) {
              throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR,
                      value + " Session ID is already in use!", null));
          }
      }
  </code></pre>
  
  <p>For some reason the input data is not compared properly with the value in Oracle. What is the proper way to compare the two values?</p>