Operaciones con Cadenas en Java
En Java, las cadenas pueden crearse mediante instanciación directa o con el operador new. Por ejemplo:
String literal = "Texto ejemplo";
String objeto = new String("Texto ejemplo");
La concatenación se logra con el operador +, produciendo una nueva cadena. La longitud se calcula con el método length(), y las subcadenas se extraen usando substring() con índices basados en cero.
Para localizar caracteres, indexOf() devuelve la primera posición, mientras que lastIndexOf() halla la última. El método trim() elimina espacios en los extremos, y replace() sustituye subcadenas coincidentes.
La comparación exacta se realiza con equals(), que distingue mayúsculas de minúsculas. Los métodos startsWith() y endsWith() verifican prefijos y sufijos respectivamente.
Para cambiar el caso, se emplean toLowerCase() y toUpperCase(). La división de cadenas se efectúa con split(), usando un delimitador.
A continuación, un ejemplo para generar un código de verificación aleatorio de cuatro caracteres:
public static void crearCodigoAleatorio() {
String simbolos = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
StringBuilder codigo = new StringBuilder();
for (int contador = 0; contador < 4; contador++) {
int posicion = (int) (Math.random() * simbolos.length());
codigo.append(simbolos.charAt(posicion));
}
System.out.println("Código generado: " + codigo.toString());
}
Otro ejemplo extrae datos de una cadena con formato XML:
public static void obtenerDatosDeXML() {
String xml = "<registro><nombre>Ana</nombre><apellido>García</apellido></registro>";
int inicioNombre = xml.indexOf("<nombre>") + 8;
int finNombre = xml.indexOf("</nombre>");
String nombre = xml.substring(inicioNombre, finNombre);
int inicioApellido = xml.indexOf("<apellido>") + 10;
int finApellido = xml.indexOf("</apellido>");
String apellido = xml.substring(inicioApellido, finApellido);
System.out.println("Nombre: " + nombre);
System.out.println("Apellido: " + apellido);
}
Manejo de Fechas con Calendar y SimpleDateFormat
Para obtener la fecha y hora actuales, se usa Calendar.getInstance(). Los componentes como año, mes, día, hora, minutos, segundos y milisegundos se acceden con el método get() y constnates correspondientes, por ejemplo, Calendar.YEAR.
La visualización formateada se logra con SimpleDateFormat. Primero, se crea una instancia de Calendar. Luego, se define un formateador con un patrón, como "yyyy-MM-dd HH:mm:ss". Finalmente, se aplica el formateador al objeto Date obtenido de Calendar mediante getTime().
Para modificar fechas, se utilizan los métodos set() de Calendar, especificando valores para campos como año, mes (0-indexado), día, y opcionalmente hora, minutos y segundos.
Ejemplo de formateo de una fecha:
import java.util.Calendar;
import java.text.SimpleDateFormat;
public class PruebaFecha {
public static void main(String[] args) {
Calendar calendario = Calendar.getInstance();
calendario.set(2005, Calendar.JULY, 20); // Mes basado en cero
SimpleDateFormat formato = new SimpleDateFormat("dd 'de' MMMM 'de' yyyy");
String fechaMostrada = formato.format(calendario.getTime());
System.out.println("Fecha: " + fechaMostrada);
}
}