/* Interfacet vi skal implementere: public interface Comparable { public int compareTo(T otherObj); } Reglene for hva compareTo-metoden skal returnere: < 0 (negativt) hvis vårt objekt er "mindre" enn det andre = 0 hvis vårt objekt er "likt" med det andre > 0 (positivt) hvis vårt objekt er "større" enn det andre */ public class Flaske implements Comparable { // Må implementere Comparable-interfacet ^ private int dl; private String label; public Flaske(int dl, String label) { this.dl = dl; this.label = label; } @Override public int compareTo(Flaske otherObj) { // Dersom dl i Flaske-objektet vi er inni nå (altså den som vi kaller compareTo på) // er mindre enn dl i den vi får inn som parameter, så returnerer vi et negativt tall if (dl < otherObj.dl) { return -1; } // ... om dl er større i dette Flaske-objektet så returnerer vi et positivt tall else if (dl > otherObj.dl) { return 1; } // Om dl er like stor, så skal flaskene sorteres etter labelen, i alfabetisk rekkefølge. // For å få til dette bruker vi compareTo på de to label-strengene, som vil gi oss enten 0, // en positiv eller en negativ verdi. // Denne verdien bare returnerer vi, da den forteller hvilken av stringene som er "størst" // (dvs. deres alfabetiske rekkefølge) int verdi = label.compareTo(otherObj.label); return verdi; } @Override public String toString() { return dl + " dl, " + label; } }