viernes, 28 de junio de 2013

Algunos tips para manejo de Strings en Java!

El manejo de cadenas de caracteres en java es considerablemente más sencillo que con otros lenguajes, gracias al cielo que los desarrolladores de java se tomaron en serio la idea de hacer una clase String decente. Esta entrada en mi blog tiene la intención de dar algunos tips básicos de manejo de esta clase.

Primero lo primero


Un String es una cadena de caracteres, un tipo y una clase en java. Se utiliza para representar palabras, frases, etc. Un String puede ser vacío "", puede tener solo una letra "a", o "puede tener toda una frase". Sobra decirlo, pero la manera de declarar un String es:
    
    String s;
    s = "hola";
    String x = "otro String"; 

Operadores sobre Strings


Los Strings soportan algunas operaciones, la más utilizada es la concatenación, que permite "pegar" un String con otro (+), con un número o con una letra. La otra operación obvia es la asignación (=). Ahora un ejemplo de ello:

   
   int numero = 4; 
   String cadenaCompuesta = "Esta es"+" una "+"cadena "+'c'+'o'+"mpuesta"; //aquí pego cadenas con letras
   String otraCadena = "Leere este post al menos "+numero+" veces"; //aquí pego cadenas con números
   String cadena = "";
   cadena+="algo"; //aquí agrego una palabra a lo que ya había
   cadena+=" mas"; //aquí agrego otra palabra a lo que ya había

Métodos de uso común


Los Strings tienen algunos métodos que se pueden usar para facilitarle la vida a quien programa, estas son algunas funciones comunes:

- charAt: dado un número, retorna el caracter ubicado en la posición enviada como parámetro
- contains: dada una cadena, retorna true si esta contenida en otra
- length: retorna la longitud
- endsWith: retorna true si la cadena termina con un sufijo enviado como parámetro
- equals: retorna true si dos cadenas son iguales
- indexOf: retorna la posición de la primera ocurrencia de una cadena enviada como parámetro
- isEmpty: retorna true si el tamaño de la cadena es cero
- lastIndexOf: retorna la posición de la última ocurrencia de una cadena enviada como parámetro
- replace: reemplaza una cadena por otra
- startsWith: retorna true si la cadena inicia con un prefijo enviado como parámetro
- subString: retorna una subcadena dada posición de inicio y una longitud
- toLowerCase: convierte la cadena a minúsculas
- toUpperCase: convierte la cadena a mayúsculas

Ahora unos ejemplos de como funcionan los anteriores métodos...


                String s = "Sonido";
		char c = s.charAt(0);//S
		char c2 = s.charAt(1);//o
		boolean b = s.contains("oni");//true
		boolean b2 = s.contains("xx");//false
		int i = s.length();//6
		boolean b3 = s.endsWith("do");//true
		boolean b4 = s.equals("Sonido");//true
		boolean b5 = s.equals("sonido");//false
		int i2 = s.indexOf("on");//1
		boolean b6  = "".isEmpty();//true
		boolean b7 = s.isEmpty();//false
		int i3 = s.lastIndexOf("o");//5
		String s2 = s.replace("ido", "pa");//Sopa
		boolean b8 = s.startsWith("Son");//true
		String s3 = s.substring(1, 3);//on
		String s4 = "SoNiDo".toLowerCase();//sonido
		String s5 = "SoNido".toUpperCase();//SONIDO