Java

Manejo de cadenas en Java. Métodos split, indexOf, substring y trim

Muchas veces nos es necesario tratar cadenas de texto, pero la mayoría de esas veces no utilizamos la cadena entera, sino que necesitamos extraer subcadenas que contienen datos relevantes.

Java tiene varios métodos para el manejo de cadenas. Los que vamos a tratar son los siguientes:

  • String[]     split(String regex)
  • int     indexOf(int ch)
  • int     indexOf(int ch, int fromIndex)
  • String     substring(int beginIndex)
  • String     substring(int beginIndex, int endIndex)
  • String     trim()

El método split devuelve un array de String. Es muy útil cuando tenemos un conjunto de elementos separados por comas. Por ejemplo:

 

La salida será:
    rojo
    amarillo
    verde
    azul
    morado
    marrón

El método indexOf devuelve la primera aparición de una cadena dentro de un String. Si le pasamos dos parámetros el primero será la cadena a buscar y el segundo la posición en la que empezará a buscar.
El método substring devolverá una subcadena del String, desde la posición de inicio hasta la posición de fin. Si sólo se especifica un parámetro la subcadena contendrá desde la posición de inicio hasta el final de la cadena. Se ve más claro en el siguiente ejemplo:

 

La salida será:
    amarillo
    amarillo,verde,azul,morado,marrón

Por último, el método trim devuelve una copia de la cadena, pero sin los espacios al inicio o al fin. Es bastante útil en el uso de formularios y en otras muchas ocasiones. Os dejo la prueba para vosotros.

Espero que os haya sido de ayuda.

Por favor, para consultas sobre estos métodos, abrir un tema en los foros de Java-Spain

Obtener un número desde una cadena de texto

Tagged:  

En esta corta y sencilla entrada vamos a tratar un problema de los más comunes que se pueden presentar al programar en Java: ¿cómo puedo transformar un texto en un tipo int o long?

Pues es tan fácil como esto:

 

Manejo de cadenas en Java - Metodo compareTo

Continuando con las anteriores entregas de Manejo de cadenas en Java, hoy vamos a comentar un método que es muy útil para ordenar listados de palabras.

Como su nombre indica, el método compareTo(String str) realiza una comparación entre un String (en este caso) y otro objeto de tipo String.

Lo que realmente hace este método, es observar una cadena con respecto a otra y devolverá un número entero int. Este número determinará cuál de las dos cadenas va antes o después. El entero valdrá menos que 0 si la cadena argumento es lexicográficamente mayor que la cadena a comparar, 0 si son iguales y será mayor que 0 si es menor. Por ejemplo:

 

Java cumple 15 años

Tagged:  

El lenguaje de programación Java nació hace 15 años, según su creador, James Gosling, Desde Java-Spain queremos agradecerle su creación, ya que sin ella no sería posible este blog ni muchos otros.

Utilización básica de arrays, ArrayList y Vector. Conversión de arrays.

Hoy el tema que nos ocupa es uno sencillo, pero que no debe pasarse por alto, por ser estas clases unas de las más usadas, dado su sencillo funcionamiento.

En primer lugar, vamos a inicializar un array de String, que como sabéis tiene longitud fija, lo que es un pequeño inconveniente a la hora de trabajar con algunos conjuntos de elementos. Para solucionar este problema, tenemos otras clases llamadas colecciones.

Dos de ellas son ArrayList y Vector. Un ArrayList es una implementación de la clase List, que es una colección que admite elementos duplicados y nulos, así como acceso por índice y otros métodos para trabajar con sus elementos. Vector también hereda de List es muy similar a ArrayList, con la diferencia de que la clase Vector es segura para trabajar con hilos (sincronizada). Esta ventaja penaliza ligeramente el rendimiento del Vector.

Antes de mostrar un ejemplo, añadir que a partir de la versión 1.6 1.5 de Java, si no me equivoco (me equivoqué :P), se introdujeron las colecciones genéricas, que suponen una ventaja en cuanto a que soportan comprobación de tipos en tiempo de compilación. Para definir el tipo de la colección simplemente se añade el tipo del objeto entre los símbolos '<' y '>' (ej.: Vector<String>).

A continuación, un sencillo ejemplo de uso de estas clases.

 

Formateando números: NumberFormat

Para comenzar, simplemente comentar que esta clase es muy útil para presentar números por pantalla, teniendo el control en todo momento del formato que tendrán. Más adelante dedicaremos otro post a DecimalFormat, que hereda de esta primera.

NumberFormat es la clase más sencilla de las dos. Principalmente presenta los siguientes métodos:

  • getInstance() - Simplemente obtiene el formato del idioma actual.
  • getCurrencyInstance() - Igual que el anterior, pero con formato de moneda.

y sus respectivas variantes con un parámetro de tipo Locale, que sustituirá al idioma actual.

Para realizar el formato será necesario llamar al método format, como veréis en el ejemplo.

Esta clase supone un componente muy flexible a la hora de formatear números. Como siempre, me apoyaré en la documentación de Java para la explicación, dado que es nuestro más preciado recurso ;-).

 

¿Eres blogger? Escribe sobre JavaFX y gana 500 dólares

Desde Sun Microsystems han lanzado un concurso para promocionar su producto JavaFX, del que ya hemos tratado en el blog. La iniciativa consiste en animar a los bloggers a utilizar JavaFX y compartir su experiencia con sus lectores. Todos los bloggers que participen en el concurso optarán a los siguientes premios:

  • 10 premios de 500 dólares para los 10 mejores posts.
  • 50 premios de 25 dólares para Amazon.

El plazo del concurso finaliza el día 3 de Julio, así que ya sabes, ¡participa!.

Métodos replace, replaceFirst y replaceAll y expresiones regulares

Continuando con la entrada anterior de manejo de cadenas, voy a analizar los métodos siguientes:

Antes de nada, cabe explicar que un CharSequence es una interfaz que encapsula una secuencia de caracteres de sólo lectura y acceso uniforme. La clase String implementa dicha interfaz, al igual que las clases CharBuffer, Segment, StringBuffer y StringBuilder. Para usar el método replace lo más sencillo será utilizar un String normal.

Programación para moviles: Manual sencillo de J2ME

Hoy os voy a dejar otro de los "imprescindibles" del programador Java, un manual de J2ME escrito por Sergio Gálvez Rojas y Lucas Ortega Díaz. En él se recogen los principios de la programación para móviles, y concretamente en la plataforma Java, presente en la mayoría de los móviles actuales (por no decir en todos).

En su web podemos encontrar enlaces a varias versiones del libro, además de la copia disponible en Google Books.

JavaFX SDK en Eclipse

JavaFX es un nuevo lenguaje de Scripts diseñado por Sun Microsystems. El objetivo de este nuevo lenguaje, (mezcla de C y Java, según mi opinión) es ocupar el lugar que ya tiene Flash en el mercado de las RIAs (Rich Internet Applications) y además adaptarse a los nuevos dispositivos móviles, gracias a su versión JavaFX mobile. Ya se dio la noticia del lanzamiento en Java-Spain, pero ahora quería profundizar un poco en su tecnología y los primeros pasos que debemos dar para empezar a conocerlo.

Lo primero de todo es descargar el JavaFX SDK. Yo voy a optar por instalar un plugin para Eclipse, pero en la misma página de descargas tenéis una versión para NetBeans. Si, como es mi caso, vais a instalarlo en Eclipse, será necesario descargar sólo el SDK desde la página de descargas de JavaFX y a continuación abrir Eclipse.

Una vez que tenemos Eclipse abierto, sólo tenemos que utilizar la herramienta de actualizaciones e introducir el siguiente sitio:

   

Sistema Operativo ⇒ windows | linux | macosx

pulsar en instalar y listo. Ahora queda lo más divertido, aprender a programar con JavaFX.

Lo podéis ver en vídeo:

Distribuir contenido