Maison  >  Article  >  interface Web  >  Introduction détaillée à la différence entre juger si deux chaînes sont égales en Java et JavaScript

Introduction détaillée à la différence entre juger si deux chaînes sont égales en Java et JavaScript

黄舟
黄舟original
2017-03-20 14:56:561428parcourir

Cet article présente principalement la différence entre Java et JavaScript pour déterminer si deux chaînes sont égales. C'est très bien et a une valeur de référence. Les amis qui en ont besoin peuvent s'y référer.

Javascript est un langage de script couramment utilisé, ce qui détermine également qu'il n'est pas très standardisé par rapport aux autres langages de programmation. Pour déterminer si deux chaînes sont égales en Javascript,

utilisez directement ==, this C'est la même chose que la classe String en C. Le signe égal en Java est utilisé pour déterminer si les références de deux chaînes sont identiques. Pour déterminer l'entité, vous devez utiliser la méthode equals(), ou la

ou compareTo(). Il faut le souligner ici. Il s'agit du type de paramètre de la méthode equals(). Son type de paramètre n'est certainement pas la classe String, mais la classe Object que nous avons vue

<.> plus d'une fois que certains tutoriels nationaux écrivent sur la classe String (o(╯□╰)o )

Vous pouvez jeter un œil au code source du JDK :

On voit que le type de paramètre est la classe Object. Au fait, parlons de ce code. Déterminons d'abord si les deux références sont les mêmes. Si les références sont les mêmes, les entités seront naturellement les mêmes. Ensuite, cela implique la conversion de la classe :
public boolean equals(Object anObject) {
    if (this == anObject) {
      return true;
    }
    if (anObject instanceof String) {
      String anotherString = (String) anObject;
      int n = value.length;
      if (n == anotherString.value.length) {
        char v1[] = value;
        char v2[] = anotherString.value;
        int i = 0;
        while (n-- != 0) {
          if (v1[i] != v2[i])
              return false;
          i++;
        }
        return true;
      }
    }
    return false;
  }


Nous attribuons le

objet

créé par la sous-classe à la classe parent, que nous appelons un objet transformé à la hausse. Sur cette base, vous pouvez également convertir les objets de la classe parent en objets de sous-classe. En termes simples, il existe certaines conditions pour la conversion entre les classes et l'instance de doit être utilisée pour en juger. La méthode equals() dans chaque classe provient de la classe Object, il n'est donc pas difficile de comprendre que le type de paramètre de la méthode equals() est la classe Object. Il convient de mentionner que la méthode compareTo()

de la classe String en Java : Le paramètre dans compareTo() est la classe String, car la classe String implémente l'interface Comparable. Fondamentalement, la plupart des classes implémentent cette interface ( ps : l'un vient de l'héritage et l'autre vient de l'interface, c'est pourquoi les types de paramètres des deux sont incohérents).

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