En Java
private Comparator<Integer> comparator = new Comparator<Integer>(){
@Override
public int compare(Integer o1, Integer o2) {
return o1.compareTo(o2);
}
};
en Kotlin
private val comparator = object: Comparator<Int> {
override fun compare(o1: Int, o2: Int): Int {
return o1.compareTo(o2)
}
}
Mais parce que Comparateur est un Interface fonctionnelle nous pouvons tirer parti de Conversions SAM et écrire
private val comparator = Comparator<Int> { o1, o2 -> o1.compareTo(o2) }
Veuillez noter que la fonction SAM ne fonctionne que pour Functional
interfaces définies en java, si vous avez besoin de créer des object
d'un kotlin interface
avec une seule méthode, vous devrez utiliser object
la syntaxe.