¿Cómo funciona String.equals ()?

He estado tratando de entender cómo funcionan algunos de los métodos API

A continuación se muestra un fragmento del método equals de la clase java.lang.String.

¿Puede alguien decirme cómo en realidad el código está comparando dos cadenas? Obtengo la importancia de contar, pero lo que significa compensación. ¿Cómo están obteniendo valores estas variables?

Como cuando creo una cadena. ¿Cómo se inicializan?

¿Una descripción detallada línea por línea y también cómo y cuándo se inicializan las variables de instancia, valor, conteo, desplazamiento, etc.?

 public boolean equals(Object anObject) {
  1014           if (this == anObject) {
  1015               return true;
  1016           }
  1017           if (anObject instanceof String) {
  1018               String anotherString = (String)anObject;
  1019               int n = count;
  1020               if (n == anotherString.count) {
  1021                   char v1[] = value;
  1022                   char v2[] = anotherString.value;
  1023                   int i = offset;
  1024                   int j = anotherString.offset;
  1025                   while (n-- != 0) {
  1026                       if (v1[i++] != v2[j++])
  1027                           return false;
  1028                   }
  1029                   return true;
  1030               }
  1031           }
  1032           return false;
  1033       }

Respuestas a la pregunta(2)

Su respuesta a la pregunta