Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/12/2008, 20:47
-thor-
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 18 años, 3 meses
Puntos: 3
Duda con hashcode

Hola, en este programa, que funcion cumple hashcode?, por que el hashcode se calcula con la numeración 17 y 31?, para calcular el metodo hashcode debo seguir alguna numeracion especial o en base a que cosa debo calcularlo
gracias

Código PHP:
public final class PhoneNumber
 
{
private final 
short areaCode;
private final 
short prefix;
private final 
short lineNumber;

public 
PhoneNumber(int areaCodeint prefix,int lineNumber
{
rangeCheck(areaCode999"area code");
rangeCheck(prefix999"prefix");
rangeCheck(lineNumber9999"line number");

this.areaCode = (shortareaCode;
this.prefix = (shortprefix;
this.lineNumber = (shortlineNumber;
}

private static 
void rangeCheck(int argint max,
String name) {
if (
arg || arg max)
throw new 
IllegalArgumentException(name +": " arg);
}

@
Override public boolean equals(Object o
{
if (
== this)
return 
true;
if (!(
instanceof PhoneNumber))
return 
false;
PhoneNumber pn = (PhoneNumber)o;
return 
pn.lineNumber == lineNumber
&& pn.prefix == prefix
&& pn.areaCode == areaCode;
}

@
Override public int hashCode() {
int result 17;
result 31 result areaCode;
result 31 result prefix;
result 31 result lineNumber;
return 
result;
}

public 
String toString()
{
return 
"("+areaCode+"-"+prefix+"-"+lineNumber+")";
}

public static 
void main(String arguments[])
{
PhoneNumber po= new PhoneNumber(5,222,4);
System.out.println(po);    
}} 

Última edición por -thor-; 01/12/2008 a las 21:14