Quote Originariamente inviata da francesco51 Visualizza il messaggio
Allora l'esercizio mi chiede:

Creare una classe WrapperComparable che abbia le seguenti caratteristiche:
abbia come costante incapsulata di tipo Integer che deve essere sempre
valorizzata;
abbia un metodo toString() che restituisca l’intero;
definisca un modo di ordinamento che vada dall’intero incapsulato più alto
al più basso.
Infine si crei una classe che verifichi il corretto funzionamento dell’ordinamento.

Soluzione:

codice:
public class WrapperComparable implements Comparable<WrapperComparable> {
private Integer integer;
public WrapperComparable(Integer integer) {
if (integer == null) {
integer = 0;
}
this.integer = integer;
}
public Integer getInteger() {
return integer;
}
public void setInteger(Integer integer) {
this.integer = integer;
}
@Override
public int compareTo(WrapperComparable otherWrapperComparable) {
return -(integer.compareTo(otherWrapperComparable.getInteger()));
}
@Override
public String toString(){
return "WrapperComparable("+integer+ ")";
}
}

e poi classe per il test:

codice:
import java.util.Arrays;
public class TestWrapperComparable {
public static void main(String args[]) {
WrapperComparable[] array = {new WrapperComparable(1942),
new WrapperComparable(1974),
new WrapperComparable(1907)};
Arrays.sort(array);
for (WrapperComparable wrapperComparable : array) {
System.out.println(wrapperComparable);
}
}
}

mi è tutto chiaro tranne una voce e vorrei capire quale è la sua funzione.

La parte che non mi è chiara stà nella classe WrapperComparator ed è :

codice:
@Override
    public int compareTo(WrapperComparable otherWrapperComparable) {  /Che vuol dire?
        return -(integer.compareTo(otherWrapperComparable.getInteger()));
    }
    
    @Override
    public String toString() {
        return "WrapperComparable("+integer+ ")";
    }
}

grazie a tutti.
ok scusa... lo sò che è inverso perchè c'è segno - .
quello che voglio capire è perchè scrive :

codice:
public int compareTo(WrapperComparable otherWrapperComparable) {  
        return -(integer.compareTo(otherWrapperComparable.getInteger()));