Está en la página 1de 9

TCNICA EN IMPLEMENTACIN DE SOFTWARE

CERTIFICACIN DE NIVEL TCNICO

API STRING Y TEXTO


Presentado por
Elkin Ferney Martnez Cdigo 1311160047
Tutor:
Diego David Castro Satoba

FECHA
07 12 - 2014

2
Tabla de contenido
1. API String y Texto
1.1. Anlisis conceptual.
1.2. Creando un String.
1.3. Constructores de la clase String.
1.4. Mtodos de la clase String.
1.4.1.Mtodo toString.
1.5. Concatenacin de String.
1.5.1.Concatenacin de cadenas annimas.
1.5.2.Concatenacin de contantes y variables finales.
1.5.3.Concatenacin de variables.

Bibliografa

1. API String y Texto

1.1 Anlisis conceptual.


La clase String se encuentra dentro del clase java.lang.Object, esta su vez esta contenida
dentro del paquete java.lang agrupadas todas dentro el API de java. La clase String
implementa las interfaces Serializable, CharSquence, Comparable < String >.

La clase String representa un cadena de caracteres, hereda de la clase Object y estn


contenidas en el paquete java.lang. La clase String instancia objetos de cadena de textos
estticos, es decir al crearse e inicializarse no puede cambiar su valor, a diferencia de los
StringBuffer que si pueden mutar. El razn por lo que los String son constantes o inmutables
es porque ellos pueden se compartidos, por lo tanto las operaciones que realicemos sobre
una clase String modificara el espacio de memoria reservado para el mismo, esto se conoce
como inmutabilidad.

1.2 Creando un String .


Para crear un String existe varias formas, debemos tener presente que los String son objetos
por lo tanto se pueden utilizar los mismo lineamientos ya conocidos en cursos anteriores
sobre la creacin de objetos, en el siguiente ejemplo vemos algunas formas :

//
public class Prueba {
//formas de crear un objeto de la clase String
String sr = "una cadena de caracteres";
String texto = new String("Java");
}
//

En el cdigo anterior la segunda forma es ms ineficiente ya que crea dos objetos por uno de
la primera sentencia, nuestra aplicacin no sufrir penalizacin de eficiencia.

1.3 Constructores de la clase String.


Los mtodos especiales de la clase String que se llama automticamente siempre que se
declaren un objeto de la clase String se les conoce como constructores, su funcin es
inicializar el objeto y sirven para asegurarnos que contenga valores validos, asignndole
memoria para el objeto, esto importante saberlo para entender la inmutabilidad de los String,
las caractersticas que los preceden son las mismas de los constructores vistos en cursos
anteriores de java por tal motivo no se profundiza en el tema, para conocer ms sobre
constructores podemos dirigirnos a la documentacin oficial de Java disponible en el
siguiente link http://docs.oracle.com/javase/7/docs/api/ .
1.4 Mtodos de la clase String.
La clase String incluye mtodos para examinar una cadena de caracteres, para realizar
bsquedas, comparaciones entre cadenas de caracteres, para extraer un substring, para crear
un String y copiar a de String a otro de maysculas a minsculas. Para ms detalle sobre los
mtodos de la clase String podemos ampliar informacin en la documentacin de java
disponible en http://docs.oracle.com/javase/7/docs/api/.

1.4.1

Mtodo toString().
El mtodo toString() disponible en los mtodos de la clase String, cualquier clase lo
puede utilizar, su funcin es brindar ms detalles acerca del objeto de la clase. Un
ejemplo es cuando se hace un instancia de la clase en systemoutprintnl() este lo que
hace es un llamando al mtodo toString() internamente. El siguiente ejemplo nos
ayuda a entender uno de las formas de utilizar el mtodo toString():
public class Usuario {
private String Nombre;
private String Apellido;
public Usuario(String nombre, String apellido) {
Nombre = nombre;
Apellido = apellido;
}
public String getNombre() {
return Nombre;
}
public void setNombre(String nombre) {
Nombre = nombre;
}
public String getApellido() {
return Apellido;
}
public void setApellido(String apellido) {
Apellido = apellido;
}
El siguiente bloque de cdigo al no tener formateado la salida no
trabaja adecuadamente el objeto creado
public static void main(String[] args) {
Usuario user = new Usuario("Elkin", "Martinez");
System.out .println(user);
la salida en consola es Proyecto.Usuario@17dfafd1
}
Creando el mtodo toString hacemos un formateo de la salida
@Override
public String toString() {
return "El objeto creado formateado con toString " +
getNombre() + " "+ getApellido();
}
}

1.5 Concatenacin de String.


Java proveed un especial soporte para el operador de concatenacion de String (+),
paradojicamente Java no lo conoce al momento de ejecucin de nuestro cdigo, por este
motivo el compilador se encarga de traducir los lugares donde aparece la concatenacin por
el codigo necesario que permita cumplir con el mismo proposito y de forma optima. La
concatenacin de String es implementada por medio de las clases StringBuilder(o String
Buffer).

Vamos a ver cuales son las traducciones ncesarias relizadas por el compilador y como
podemos aprovecharlas de una forma forma.

1.5.1

Concatenacion de cadena annimas.


La cadenas annimas son cadenas no asociadas a ningn objeto que se crean y
utilizan en la sentecnia que declara , y luego son descartadas. Para el caso de
concatenaciones de cadenas annimas resulta ser lo mismo luego de pasar por el
compilador, como se muestra en el siguiente ejemplo de cdigo:

//...
static String a = "Elkin " + "Martinez";// concatenacin
static String b = "Elkin Martinez";
public static void main(String[] args) {
System.out .println(a);// Imprime en consola Elkin Martnez
System.out .println(b);// Imprime en consola Elkin Martnez
}
//...

El beneficio que encontramos es al momento de mantennerlo, ya que permite una


mejor lectura del mismo.

1.5.2

Concatenacin de constantes y variables finales.


Si tenemos definidas constantes y las concatenamos con alguna cadena annima o
entre si, primero que nada el compilador realizar el intercambio de las constantes por
la cadena que representan y luego las trata como el caso anterior. No importa el
modificador de acceso o si es esttica o no, mientras el valor de la constante este
disponible a la hora de compilar, ser reemplazado en la concatenacin. La ventaja es
igual a la del caso anterior ya que nos permite ms legibilidad del codigo tenienda
una buena eficiencia en la ejecucin, ya que no se pierde tiempo realizando
concatenaciones. El siguiente ejemplo lo muestra:

public class prueba2 {


public static final String CONSTANTE_A = "AAA";
public final static String CONSTANTE_C = "CCC";
static String a = "mostrar " + CONSTANTE_A ;
static String c = "mostrar " + CONSTANTE_C ;
public static void main(String[] args) {
System.out .println(a);
System.out .println(c);
}
}

1.5.3

Concatenacin de variables.
La concatenacin de variables es distinta de los anteriores casos debido a que en
ningn caso el compilador puede suponer el valor almacenado de las mismas. Como
no sabe con que valores se contara , lo que se realiza a la hora decompilar es armar
un StringBuilder irle agregando las cadenas que queremos visualizar. Miremos el
siguiente cdigo

public class prueba3 {


String a = "Elkin";
String b = a + " Martinez";
public static void main(String[] args) {
System.out .println(b);
}

No se puede asegura que a valla atener siempre el valor de Elkin al momento de


concatenar por lo que tenemos que hacer es crear una instancia de StringBuilder,
agregamos la cadena Martinez, le adicionamos la variable a y obtenemos el string
resultante y lo asignamos a la b.

9
Bibliografa
Coffe with code, toString method of objetc class in Java, [Articulo en linea], 2014[Citado 07-12-2014], disponible
en internet: http://coffeewithcode.com/2011/11/tostring-method-of-object-class-in-java/
Oracle, The Java Tutorials Number and String, [Articulo en linea], 2014 [Citado 06-12-2014], disponible en
internet: https://docs.oracle.com/javase/tutorial/java/data/buffers.html
Anonimo, Concatenacin de cadenas en Java, [En linea], 2008 , [citado 08-12-2014], disponible en
http://lefunes.wordpress.com/2008/05/08/concatenacion-de-cadenas-en-java-optimizaciones-realizadas-por-elcompilador/
Anonimo, String vs StrinBuffer vs StringBuilder, [Articulo en linea], Espaa, 2007 , [citado 11-08-2014], disponible
en http://www.dosideas.com/noticias/java/339-string-vs-stringbuffer-vs-stringbuilder.html
Sue Smith, Qu es la clase String en Java?, [Articulo en linea], Espaa, 2007 , [citado 11- 10-2014], disponible en
internet: http://www.ehowenespanol.com/clase-string-java-info_372525/
Virginia Lopez Fernandez, Guia Rapida Java Programmer 7, [Articulo en linea], Espaa, 2004 [Citado 11-092014], disponible en internet: https://preparandoscjp.wordpress.com/about/
Virginia Lopez Fernandez, Las clases de cadena: String, StringBuffer y StringBuilder, [Articulo en linea], Espaa
[citado 11-08-2014], disponible en internet: https://preparandoscjp.wordpress.com/2012/03/27/clasesdecadena/
James Gosling, Bill Joy, Guy Steele, Gilad Bracha, Alex Buckley, Documentacion de Lenguaje Java, Oracle [En
linea], [citado 11-07-2014], disponible en internet: https://docs.oracle.com/javase/7/docs/api/
Virginia Lopez Fernandez, Guia Rapida Java Programmer 6, Oracle [En linea] Espaa, 2004, [citado 11-082014], disponible en internet: https://preparandoscjp.wordpress.com/guia-rapida/

También podría gustarte