La comparación de objetos en java

Cuando comience a trabajar con objetos en Java, se encuentra que usted puede utilizar == y != para comparar objetos entre sí. Por ejemplo, un botón que se ve en la pantalla del ordenador es un objeto. Usted puede preguntar si lo que se acaba de hacer clic en el ratón es un botón en particular en su pantalla. Esto se hace con el operador de igualdad de Java.

si (e.getSource () == bcopy) {Clipboard.SetText (which.getText ()) -

La gran Gotcha comparación con el esquema de Java viene cuando se comparan dos cadenas. Cuando se comparan dos cadenas entre sí, usted no desea utilizar el signo igual doble. Utilizando el signo igual doble preguntaba: “¿Es esta cadena almacenada en el mismo lugar en la memoria como que otra cadena?” Por lo general, eso no es lo que quiere hacer.

En su lugar, normalmente se desea preguntar, “¿Esta cadena tiene los mismos caracteres en ella como la otra cadena?” Para hacer la segunda pregunta (la pregunta más apropiada) de Java Cuerda tipo tiene un método denominado a igual. (Como todo lo demás en el universo conocido, este es igual método está definido en la API de Java, abreviatura de Interfaz de programación de aplicaciones).

los es igual método compara dos cadenas para ver si tienen los mismos personajes en ellos. Para ver un ejemplo de uso de Java es igual método, ver este listado de código. (La figura muestra una ejecución del programa en la lista.)

java.lang.System importación estática * -. java.util.Scanner importación-pública de clase CheckPassword {void Main (args String []) {public static (out.print"¿Cual es la contraseña? ") = Teclado -Especificaciones del escáner nuevo escáner (en) = contraseña -string keyboard.next () - out.println ("que ha escrito gt; gt;" + Contraseña + "lt; lt;") -out.println () - Si (password == "pez espada") {Out.println ("La palabra que ha escrito se almacena") -out.println ("en el mismo lugar que el verdadero") -out.println ("contraseña. Debe ser una") -out.println ("pirata informático.") -} else {out.println ("La palabra que ha escrito no es") -out.println ("almacenado en el mismo lugar que") -out.println ("la contraseña real, sino que es") -out.println ("no es gran cosa.") - out.println} () - if (password.equals ("pez espada")) {Out.println ("La palabra que introdujo tiene la") -out.println ("mismos caracteres que el verdadero") -out.println ("contraseña. Puede utilizar nuestro") -out.println ("precioso sistema.") -} else {out.println ("La palabra que ha escrito no lo hace") -out.println ("tienen los mismos caracteres que") -out.println ("la contraseña real. No se puede") -out.println ("utilizar nuestro valioso sistema.") - keyboard.close} () -}}

En el perfil, la llamada keyboard.next () agarra cualquier palabra que el usuario escribe en el teclado del ordenador. El código empuja esta palabra en la variable llamada contraseña. A continuación, el programa de Si declaraciones utilizan dos técnicas diferentes para comparar contraseña con "pez espada".

Los resultados del uso de == y el uso de Java es igual método.
Los resultados del uso de == y el uso de Java es igual método.

Los ejemplos en el libro impreso son en su mayoría basados ​​en texto, pero se pueden encontrar versiones más elegantes de la mayoría de los ejemplos de maniquíes sitio web. Estas versiones más elegantes tienen ventanas, botones, campos de texto y otros elementos de un típico interfaz gráfica del usuario (GUI).

Cuanto más adecuada de las dos técnicas utiliza Java es igual método. los es igual método parece gracioso porque cuando usted lo llama, se pone un punto después de una cadena y poner la otra cadena entre paréntesis. Pero esa es la forma en que tiene que hacerlo.

Video: Diferencia entre Clase y Objeto con BlueJ - Java Parte 1 - aprendercontecnologia.com

Al llamar a Java es igual método, no importa qué cadena se pone el punto y que consiga los paréntesis. Por ejemplo, en el establecimiento, se podría haber escrito

Si ("pez espada".equals (contraseña)) 

El método funcionaría igual de bien.

Video: Método compareTo de Java

Una llamada a Java es igual método parece desequilibrada, pero no lo es. Hay una razón detrás de la aparente desequilibrio entre el punto y los paréntesis. La idea es que usted tiene dos objetos: la contraseña objeto y la "pez espada" objeto.

Cada uno de estos dos objetos es de tipo Cuerda. (Sin embargo, contraseña es una variable de tipo Cuerda, y "pez espada" es un Cuerda literal.) Cuando se escribe password.equals ( “pez espada”), que está llamando una es igual método que pertenece al objeto contraseña. Cuando se llama a este método, usted está alimentando "pez espada" con el método como parámetro del método (juego de palabras).

Al comparar cadenas entre sí, utilice el es igual método - no es el doble signo igual.

Artículos Relacionados