Problema com o if ()

2 respostas
C

Tenho um método q adiciona vários botões em um painel.

Negritei essa linha - System.out.println (situacao) – só para mostrar q existe gravado varias registros no campo situação como OCUPADO;
Mas ele não entra nessa condição if (situacao == "OCUPADO") {
Ele entra só no else {}
Pq ele não entra no if {} ????
Sel alguém puder me ajudar, ficarei muito grato
Vlw !!

public void mostraChartPDV() throws SQLException {
        String NumeroUnidades [] = new String [49];
        jPmovGeral.setLayout(new GridLayout (7,7));
        Icon iconDisponivel = new ImageIcon("/Documents and Settings/User/Desktop/desktop/icones/portaaberta2.jpg");
        Icon iconOcupado = new ImageIcon("/Documents and Settings/User/Desktop/desktop/icones/ocupada.gif");
        int i=0;
        ResultSet rs = null;
        this.con = pacote_util.Conexao.getConexao();
        stmt = con.createStatement();   
        try{
            PreparedStatement pstm = this.con.prepareStatement("SELECT * FROM situacao_unidade");
            rs = pstm.executeQuery();

            String unidade, situacao = "";
            
            while(rs.next()){
                situacao = rs.getString("NomeSituacao");
                unidade = rs.getString("UNIDADE_NumeroUnidade");
          [b]      System.out.println (situacao);[/b]                        
                NumeroUnidades[i] = unidade;              
                botoes[i] = new JButton(NumeroUnidades[i]);
                botoes[i].setBackground(White);
               [b] if (situacao == "OCUPADO") {[/b]                    botoes[i].setIcon(iconOcupado);
                    jPmovGeral.add(botoes[i]);
                    i++;  
                }
                else {
                    botoes[i].setIcon(iconDisponivel);
		    jPmovGeral.add(botoes[i]);
                    i++; 
                }
            }
            
        }catch(Exception e){
            e.printStackTrace();
        }

2 Respostas

R

Você deve usar o método .equals da classe String para comparar strings.

Seria assim:

if(situacao.equals("OCUPADO")) {
       // process
   |
Se você usar == é feita uma verificação de referência

Ex:

String pessoa;

String pessoa2;

pessoa = João:

pessoa2 = pessoa;

pessoa == pessoa2 // Isso vai dar verdadeiro

Falou[/i]

C

vlw brother, muito obrigado !!!

Criado 25 de março de 2007
Ultima resposta 26 de mar. de 2007
Respostas 2
Participantes 2