Comparaçao de vars.. IF

Pessoal, pretendo fazer assim: Tenho 4 figuras sendo 2 pares, quando clico numa figura gravo numa variavel, quando clico na outra ele vai comparar no if se faz o par, ou seja, se sao valores iguais.

O problema posto no final, segue o codigo:
Metodo 1

[code]
private String ponteiro, saiNumero, iconex;
private int numero;
private JButton button1, resete, button2, button3, button4;

public String randomico(){
int t_casa=lista.size();
numero=r.nextInt(t_casa);
saiNumero =(String) lista.get(numero);
lista.remove(numero);

return saiNumero;
}[/code]

Metodo 2, compara os cliques

void icone(JButton clicado){
    String num = clicado.getName().toString();
    iconex = num+".gif";
    if(num == ponteiro){
clicado.setIcon(new ImageIcon(iconex));
        titulo.setText("Parabéns, figura: " + num);
        //ponteiro = "0";
    }else{
      clicado.setIcon(new ImageIcon(iconex));
    //seta ponteiro
    ponteiro = num;
    }
   
}

Metodo dos 4 botoes

[code] public void aparencia(){
if(iconex == null){
iconex = “iconjogo.gif”;
}

ImageIcon icone1 = new ImageIcon(iconex);

   JFrame frame = new JFrame();

button1 = new JButton();
button2.setName(“1”);
button1.setIcon(icone1);
button1.setContentAreaFilled(false);
button1.setBorderPainted(false);

///

button2 = new JButton();
button2.setName(“1”);
button2.setIcon(icone1);
button2.setContentAreaFilled(false);
button2.setBorderPainted(false);
cons.add(button2, c);

///a partir daki fiz o setname com o randomico

button3 = new JButton();
button3.setName(randomico());
button3.setIcon(icone1);
button3.setContentAreaFilled(false);
button3.setBorderPainted(false);
cons.add(button3, c);

///

button4 = new JButton();
button4.setName(randomico());
button4.setIcon(icone1);
button4.setContentAreaFilled(false);
button4.setBorderPainted(false);
cons.add(button4, c);

/////////

   frame.setSize(600,600);
   frame.setVisible(true);
  
JFrame.setDefaultLookAndFeelDecorated(true);
button4.addActionListener(this); 
button3.addActionListener(this); 
   button2.addActionListener(this); 
   button1.addActionListener(this); 
   resete.addActionListener(this);   
   frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );

}

public void actionPerformed(ActionEvent e){

       icone((JButton) e.getSource());    
        
    }[/code]

Bom, os botoes que eu coloquei setName iguais sem usar o randomico(), o if do icone() aceita legal, masss quando usando o randomico mesmo gerando setname iguais, nao entra no if.

Mas um bug que me serviu pra analisar: se clico duas vezes no button que usa o randomico, o if aceita. Nao entra no if mesmo sendo randomicos iguais mas em buttons diferentes.

Olá,

resposta rápido, pois já são quase 4 horas de manhã por aqui:

Parece que você está usando o operador == para comparar objetos String. Em virtualmente todos os casos com Strings, isso não é aconselhavel. Em vez de == use o método equals.

Veja por exemplo esse página do artigo do GUJ sobre Strings:
http://www.guj.com.br/java.tutorial.artigo.103.2.guj

Abraços,
Sami