2010-09-10 8 views
0

je suis nouveau en Java et ont une phase de code comme ceci:quelque chose JOptionPane.showInputDialog en java

import javax.swing.JOptionPane; 
public class test 
{ 
public static void main(String[] args) { 
    String value=JOptionPane.showInputDialog("please input your value"); 
    if (value== "1"){ 
    System.out.println("1"); 
    }else{ 
    System.out.println("not 1"); 
    } 
    } 
} 

Question: pourquoi chaque fois que je mets 1, impression du système "non 1"?

merci beaucoup

Répondre

4

essayer de remplacer la valeur == "1" avec value.equals ("1"). Les chaînes en Java sont des références et il n'y a pas de surcharges d'opérateurs pour vous aider avec l'égalité. Parfois, les chaînes sont internées et == fonctionnerait, mais pas habituellement. Vous devriez toujours utiliser la méthode égale.

+0

Cela fonctionne. Merci pour votre aide. :-) – lorne

Questions connexes