Java >> Tutoriel Java >  >> Java

Différences entre la méthode concat() et l'opérateur plus (+) en Java

méthode concat()

  • concat() est une méthode utilisée pour la concaténation de chaînes.
  • Nous passons un seul argument de chaîne dans concat() et le concaténer avec une autre chaîne.

Exemple :

public class PassingArgument {
    public static void main(String[] args) {
        String str = "Java", lang = "Language";
        System.out.println(str.concat(lang));
    }
}

Sortie

D:\Programs>javac PassingArgument.java

D:\Programs>java PassingArgument
JavaLanguage
  • Nous devons nous souvenir d'une chose au moment de passer l'argument dans la méthode concat() . Nous ne pouvons passer qu'une chaîne et si nous passons un autre type d'argument, nous obtiendrons une erreur.
  • méthode concat() lève l'exception NullPointer lorsqu'une chaîne est concaténée avec 'null' .

Exemple :

public class ConcatNull {
    public static void main(String[] args) {
        String str1 = "We will get an exception string concatenate with null in case of concat()";
        String str2 = null;
        // It raises an NullPointer Exception 
        System.out.println(str1.concat(str2));
    }
}

Sortie

D:\Programs>javac ConcatNull.java

D:\Programs>java ConcatNull
Exception in thread "main" java.lang.NullPointerException
       	 at java.base/java.lang.String.concat(String.java:1936)
        	at ConcatNull.main(ConcatNull.java:7)

Les performances de concat() est élevé par rapport à '+' car il génère un nouvel objet lorsque la longueur de la chaîne est supérieure à 0 .

Opérateur '+'

  • '+' est un opérateur utilisé pour la concaténation de chaînes.
  • Nous pouvons prendre n'importe quel nombre d'arguments de chaînes avec '+' et fusionnez-le avec toutes les autres chaînes.

Exemple :

public class PassingArgument {
    public static void main(String[] args) {
        String str = "Java", lang = "Language";
        System.out.println(str + lang);
    }
}

Sortie

D:\Programs>javac PassingArgument.java

D:\Programs>java PassingArgument
JavaLanguage
  • Nous n'avons pas besoin de nous souvenir de quoi que ce soit au moment de passer l'argument dans l'opérateur '+' . Nous pouvons passer n'importe quel type d'argument si nous passons d'autres types d'arguments, nous n'obtiendrons aucune erreur.
  • Opérateur '+' ne déclenche pas d'exception lorsqu'une chaîne est concaténée avec 'null' .

Exemple :

public class ConcatNull {
    public static void main(String[] args) {
        String str1 = "We will not get any exception when string concatenate with null in case of '+'";
        String str2 = null;
        // It will not raises any NullPointer Exception
        System.out.println(str1 + str2);
    }
}

Sortie

D:\Programs>javac ConcatNull.java

D:\Programs>java ConcatNull
We will not get any exception when string concatenate with null in case of '+'null

Les performances de l'opérateur '+' est faible par rapport à concat() car il génère toujours un nouvel objet, que la longueur de la chaîne soit supérieure à 0 ou inférieure à 0.


Balise Java