Les valeurs de args[x]

John_Doe -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
je rencontre actuellement un problème qui me surprends assez...

Je fais une appli console en java qui prends des arguments en entrée, ou je souhaite changer le traitement en fonction de l'argument
Voici un exemple concret :


public class test {

public static void main(String[] args) {
int longueur = args.length;
String test = null;
int test2;

for (int i=0; i<longueur;i++) {
System.out.println(args[i]);
}

test = args[0];
System.out.println(test);
test2 = Integer.parseInt(args[1]);

if (args[0] == "a")
System.out.println("Success");

if (test2 == 1)
System.out.println("2nd Success");
}
}

Je voudrais avoir ici marqué "Success", sauf qu'en faisant

javac test.java (recompile pour être sur que j'ai la dernière version)
java test a b
j'ai bien en sortie dans println(args[0] qui donne "a", mais je n'affiche pas "Success", alors que c'est mon objectif...
"2nd Success" apparait cependant.


Merci d'avance!
Cordialment,
A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Il ne faut jamais comparer la valeur de deux objets avec ==
Il faut utiliser la méthode equals.

if (args[0].equals("a"))
0