Maison >Java >JavaBase >Comment déterminer si les chaînes sont égales en Java

Comment déterminer si les chaînes sont égales en Java

尚
original
2019-12-26 14:57:0223448parcourir

Comment déterminer si les chaînes sont égales en Java

Méthode Java pour déterminer si les chaînes sont égales :

1 Comparaison des chaînes en java : ==

Nous écrivons souvent ci-dessus if(. str1==str2), cette méthode d'écriture peut causer des problèmes en java

exemple1 :

String a="abc";
String b="abc"

Ensuite, a==b retournera true. Parce que la valeur d'une chaîne en Java est immuable, une seule copie de la même chaîne sera stockée dans la mémoire, donc a et b pointent vers le même objet

exemple2 :

String a=new String("abc"); 
String b=new String("abc");

 ; Ensuite, a==b renverra false, à ce moment a et b pointent vers des objets différents.

2. La méthode égale est utilisée pour comparer si le contenu des chaînes est le même

exemple :

String a=new String("abc"); 
String b=new String("abc");
 a.equals(b);

(1) Pour = =, si cela fonctionne Si cela est appliqué à des variables de types de données de base (byte, short, char, int, long, float, double, boolean), les "valeurs" stockées sont directement comparées pour voir si elles sont égales ; est appliqué aux variables de type référence (String), la comparaison est l'adresse de l'objet pointé (c'est-à-dire s'il pointe vers le même objet).

(2) La méthode equals est une méthode de la classe de base Object, donc toutes les classes qui héritent de Object auront cette méthode. Dans la classe Object, la méthode equals est utilisée pour comparer si les références de deux objets sont égales, c'est-à-dire si elles pointent vers le même objet.

(3) Remarque sur la méthode égale : la méthode égale ne peut pas agir sur des variables de types de données de base. Si la méthode equals n'est pas remplacée, l'adresse de l'objet pointé par la variable de type référence est comparée ; la classe String remplace la méthode equals pour comparer si les chaînes stockées dans les objets chaîne pointés sont égales. Certaines autres classes, telles que Double, Date, Integer, etc., ont remplacé la méthode equals pour comparer si le contenu stocké dans les objets pointés est égal.

Pour plus de connaissances sur Java, veuillez faire attention à la colonne

Tutoriel de base Java

.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn