Sto implementando l'interfaccia Comparable
in una classe banale che include un singolo membro int
.Esiste una libreria per confrontare i valori del tipo primitivo?
posso realizzare in questo modo:
@Override
public int compareTo (final MyType o)
{
return
Integer.valueOf(this.intVal).compareTo(
Integer.valueOf(o.intVal)
);
}
Ma questo (forse) crea 2 oggetti Integer totalmente inutili.
Oppure posso andare vero approccio cut-and-paste provato e dalla classe Integer:
@Override
public int compareTo (final MyType o)
{
int thisVal = this.intValue;
int anotherVal = o.intValue;
return (thisVal<anotherVal ? -1 : (thisVal==anotherVal ? 0 : 1));
}
Questo è abbastanza efficiente, ma il codice duplicati inutili.
Esiste una libreria che implementa questo metodo mancante Integer
(e Double and Float)?
public static int compare (int v1, int v2);
Potresti copiare l'intero 'compareTo()' in un nuovo metodo che prende due argomenti invece di usare 'this'? – BenCole