Posts

    Para qué sirve equals en Java

    En Java podemos comparar dos variables para saber si son iguales. Esto lo hacemos con el operador == usualmente dentro de una condición if. Este operador retorna verdadero si el contenido de las variables es idéntico y falso en caso contrario. Y esto funciona perfectamente con todos los tipos de variables de Java. Sin embargo el lenguaje también establece el uso del método equals() que todas las clases heredan automáticamente de Object.

    ¡Basta de temerle a las regex! - Parte 4

    En la nota anterior sobre expresiones regulares explicamos cómo definir grupos de captura en nuestra expresión regular para enfocarnos en una o más partes de nuestra regex y al mismo tiempo poder ignorar otras que estamos forzados a incluir para asegurarnos de encontrar lo que buscamos. Y con eso cubrimos las tres patas fundacionales de las expresiones regulares: coincidencia de caracteres (con literales y metasecuencias), cuantificadores y grupos de captura. Estas herramientas nos permitirán escribir una cantidad más que digna de regex.

    ¡Basta de temerle a las regex! - Parte 3

    En la nota anterior sobre expresiones regulares vimos cómo expresar cantidades variables de caracteres para una posición en nuestra regex. Y cómo escribir una regex que nos permita capturar palabras dentro de un contexto (caracteres específicos delante y detrás de ella). Pero también nos encontramos con que ese contexto es considerado parte de la coincidencia y que necesitamos evitar eso. Así que ahora aprenderemos cómo solucionarlo. Grupos de captura Cuando escribimos una regex podemos designar partes de la misma como un grupos de captura.

    Contrato equals-hashCode en Java

    A pesar de ser un tema fundamental en Java y una típica pregunta en entrevistas laborales, el contrato equals()-hashCode() muchas veces es ignorado por programadores con cierta experiencia en el lenguaje. Creo que esto se debe a que el impacto de no respetar esta condición sólo se hace visible si utilizamos los contenedores HashMap y HashSet o alguna biblioteca de terceros cuya lógica se base en este contrato. Fuera de eso nuestra clase “puede andar por la vida” sin enterarse de que no está cumpliendo el contrato ya que no verá consecuencias.

    ¡Basta de temerle a las regex! - Parte 2

    En la primera nota sobre expresiones regulares vimos cómo podemos escribir una regex que coincida caracteres específicos (o grupos de caracteres) en ciertas posiciones. De manera que es múy fácil crear una regex que encuentra una x seguida de un espacio en blanco, seguida de una y. Pero qué si necesitamos encontrar una a seguida de entre cuatro y seis dígitos, seguidos de una b. Esto es posible y vamos a ver cómo se hace.