Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Clases Especiales en java, Apuntes de Tecnología

Clases especiales y wrapper en java

Tipo: Apuntes

2019/2020

Subido el 31/05/2020

chiona-chio
chiona-chio 🇪🇸

5

(1)

6 documentos

1 / 13

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
String
Wrapper
Object
Calendar
Clases Especiales
pf3
pf4
pf5
pf8
pf9
pfa
pfd

Vista previa parcial del texto

¡Descarga Clases Especiales en java y más Apuntes en PDF de Tecnología solo en Docsity!

String

Wrapper

Object

Calendar

Clases Especiales

El tipo char Sus valores son los caracteres codificados según el código ASCII, cuyos caracteres "imprimibles" oscilan entre el 32 y el 126 Ej: 'A' = 65, 'Z' = 90, ...., 'a' =97, 'z'= Sus valores literales se pueden expresar entre comillas simples (el carácter en concreto) o como un número (su valor ASCII) char letra1='a'; char letra2=99; Se pueden tratar como caracteres y como números char letra='a'; letra++; // letra valdría 98, es decir 'b' if (letra > 4) .... System.out.println(letra); //Saldría 'b' System.out.println(letra+1); //Saldría 99 System.out.println((char)(letra+1)); //Saldría 'c'

Métodos mas utilizados

concat(String):String isEmpty():boolean length():int charAt(int):char replace(char,char):String  (^) replace(String,String):String substring(int,int):String toUpperCase():String toLowerCase():String valueOf(<tipo_simple>):String

Clases "wrapper"

Existe una por cada tipo simple de datos. Integer y Long para int y long respectivamente. Float y Double para float y double, respectivamente. "Envuelven" un valor del tipo simple al que representan en un objeto, para poder trabajar con ellos como si fueran objetos, p.ej, dentro de colecciones. Tienen un método estático que comienza por "parse", que sirve para convertir un String al tipo simple envuelto.

Object

Object es la clase más alta en cualquier jerarquía de herencia. Todos los objetos heredan de Object implícitamente: no es necesario especificarlo con un “public class MiClase extends Object {…}” Cuando una clase "Hija" hereda de una clase "Padre", no es que "Hija" herede de "Padre" y "Object", ya que JAVA no permite herencia múltiple, sino que sólo Padre es el que hereda de "Object", e "Hija" hereda por transitividad. "Object" tiene muchos métodos que heredarán todos sus hijos, es decir, todas las clases. Muchos de ellos tienen que ver con "threads" y sincronización, pero los más interesantes por ahora son toString() y equals(...)

Object (el método toString). Su prototipo es “ public String toString( )”  (^) Al igual que el resto de métodos también se puede sobrescribir. Si no se sobrescribe, por defecto, devuelve un String que indica la clase a la que pertenece el objeto concatenada con el símbolo "@" y con la posición de memoria donde están ubicados los valores de los atributos de dicho objeto.

El operador + en String

Sirve para concatenar cadenas.

 Está sobrecargado de manera que acepta

que no sea necesario que ambas

expresiones a los lados del "+" sean String.

Si una de ellas no lo es, lo que hará "+" es

llamar al método "toString()" del objeto, o

bien de la clase wrapper que envuelva al

tipo simple.

Peculiaridades de int y

String

Para convertir un String en un entero, deberemos

utilizar el método estático de “Integer” parseInt.

String cad1=“1”; String cad2=“2”; int num1=Integer.parseInt(cad1); int num2=Integer.parseInt(cad2); System.out.println(cad1+cad2); // Sale 12. System.out.println(num1+num2); // Sale 3

 Para comparar cadenas no utilizaremos el

comparador ==, sino el método “equals” de objetos de

la clase “String”.

if (num1==num2) {…} // Esto sería correcto para comparar int if (cad1==cad2) {…} // Esto sería incorrecto para comparar String if (cad1.equals(cad2)) {…} // Esto sí sería correcto para comparar String

Clase Calendar La clase Calendar posee una gran cantidad de métodos para operar, consultar y modificar las propiedades de una fecha. Calendar se suele instanciar con su método getInstance() el cual nos crea un objeto de la clase conteniendo la fecha de ese momento. Calendar ahoramismo = Calendar .getInstance(); 2 métodos de funcionamiento “lenient” : modo permisivo. “non-lenient”: modo no permisivo Por defecto se trabaja en modo permisivo y esto quiere decir que si configuramos un Calendar como el día 32 de Enero (lo cual sería un error), a la hora de formatear la fecha y por ejemplo imprimirla por pantalla se mostrará el 1 de Febrero. Es decir, con lenient mode Java trata de encontrar una fecha si le es posible aunque hayamos introducido un dato erróneo.Si configuramos el Calendar en modo no permisivo, antes de calcular la fecha más asemejable lanzaría una excepción si algún parámetro sale de su rango permitido. El 32 de enero daría error. Los métodos “set” permite establecer una fecha Los métodos “add” y “roll” permiten cambiar las fechas sumando o restando una cantidad. Por ejemplo imaginemos que tenemos una fecha con los datos siguientes: 31 de Agosto de

  1. Si ahora llamáramos sobre ese objeto Calendar el método add(Calendar.MONTH, 13) lo que hacemos es añadir 13 meses más a la fecha, con lo que tendríamos la fecha 30 de Septiembre del 2001. Observamos que al añadir 13 meses nos vamos al mes siguiente del año siguiente, pero sin saltar ninguna excepción hemos pasado del día 31 al 30, esto es porque add como hemos dicho fuerza los valores para que no sobrepasen del mínimo o máximo del campo correspondiente, en este caso del campo de días.