java world

Páginas: 19 (4583 palabras) Publicado: 1 de septiembre de 2014
Java World – Capítulo 7

Bienvenidos
Nos encontramos nuevamente en otra entrega de JavaWorld. En el capítulo anterior comenzamos a adentrarnos en la API de Java
para Escritura/Lectura de archivos y serialización de clases. En este capítulo nos toca la API para Colecciones y clases genéricas.
Tanto el capítulo anterior como este requieren que aprendan como y para que funciona cada clase,como así también, cada uno
de sus métodos, de manera que se recomienda realizar mucha ejercitación.
Recuerden “la práctica hace al maestro”.

2

h
t
t
p
:
/
/
g
u
s
t
a
v
o
a
l
b
e
r
o
l
a
.
b
l
o
g
s
p
o
t
.
c
o
m

3

h
t
t
p
:
/
/
v
a
l
o
r
c
r
e
a
t
i
v
o
.
b
l
o
g
s
p
o
t
.
c
o
m

Java World – Capítulo 7

Métodos delobjeto object
Método

Descripcion

boolean equals(Object)

Interpreta cuando dos objetos son equivalentes.

void finalize()

Método invocado por el Garbage Collector (Recolector de basura).

int hashCode()

Devuelve un valor de hash para poder ser utilizado en colecciones que utilizan hashing.

final void notify()

Despierta un hilo de ejecución que estuviera esperando a esteobjeto.

final void notifyAll()

Despierta todos los hilos de ejecución que estuvieran esperando a este objeto.

final void wait()

Hace que el hilo de ejecución pase a inactividad hasta que otro objeto llame a notify() o notifyAll()
sobre el mismo.

String toString()

Genera una representación del objeto en un String.

finalize() fue tratado en el cap. 3.
notify(), notifyAll(), ywait() se verán en el capítulo 9.

El método toString()
El método toString() es el encargado de transformar un objeto en una cadena de texto.
Dado que el método está contenido en java.lang.Object, significa que todos los objetos poseen este método. Además, es posible
sobrescribirlo, de manera de modificar su comportamiento.
Normalmente cuando mostramos un objeto, es [nombre de la clase]@[hashcode de la clase].
public class Persona {
private int edad;
private String nombre;
static public void main(String[] args) {
System.out.println(new Persona("Venito", 32));
}
public Persona(String nombre, int edad) {
this.edad = edad;
this.nombre = nombre;
}
}

Persona@3e25a5

Ahora si sobrescribimos el método toString de la siguiente manera, podemos obtener una representación máslegible del objeto:
public String toString() {
return "La persona llamada " + nombre + " tiene " + edad + " año(s).";
}

La persona llamada Venito tiene 32 año(s).

Java World – Capítulo 7

Sobrescribiendo el método equals()
El método equals() indica si dos objetos son iguales (contienen los mismos atributos y son del mismo tipo).
Ahora, cual es la diferencia entre == y equals().
==Compara las referencias entre dos variables, e indica si las mismas apuntan al mismo objeto.
equals() Compara dos objetos e indica si los mismos son equivalentes con respecto al valor de sus atributos.

Las clases String y todos los wrappers de los tipos primitivos tienen sobrescrito el método equals().

Veamos un poco de código como ejemplo:
public class Prueba {
static public voidmain(String[] args) {
Valor obj_1 = new Valor(17);
Valor obj_2 = new Valor(17);
Valor obj_3 = obj_2;
System.out.println("es obj_1 == obj_2
? " + (obj_1==obj_2));
System.out.println("es obj_1 equals obj_2? " + (obj_1.equals(obj_2)));
System.out.println("es obj_2 == obj_3
? " + (obj_2==obj_3));
System.out.println("es obj_2 equals obj_3? " + (obj_2.equals(obj_3)));
}
}
class Valor {
private intvalor;
public Valor(int valor) {
this.valor = valor;
}
public int getValor() {
return valor;
}
public boolean equals(Object obj) {
boolean resultado = false;
if (obj instanceof Valor) {
if (valor == ((Valor)obj).getValor()) {
resultado = true;
}
}
return resultado;
}
}

es
es
es
es

obj_1
obj_1
obj_2
obj_2

== obj_2
?
equals obj_2?
== obj_3
?
equals obj_3?...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Hello world en java
  • World
  • world
  • World
  • world
  • World
  • World
  • World

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS