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.![]()

Rispondi quotando