compareToについて
質問なのですが、
package projecjava4t;
import java.util.Arrays;
/**
* Program の概要の説明です
*/
public class Program
{
public static void main(String[] args)
{
Girl[] a=new Girl[4];
a[0] = new Girl("candy", 100);
a[1] = new Girl("Lisa", 1010);
a[2] = new Girl("Ann",1020);
a[3] = new Girl("Eliza",1030);
Arrays.sort(a);
int i;
for(i=0;i<a.length;i++)
a[i].disp();
}
}
class Girl implements Comparable {
String name;
int age;
public Girl(String s, int a){
name = s;
age = a;
}
public void disp(){
System.out.println("名前"+name+"年齢"+age);
}
public int compareTo(Object g){
return -(age - ((Girl)g).age);
}
}
のArrays.sort(a)のcompareTo(Object g)では、どのようなことが起きてるのかわかりません。
あと、-(age - ((Girl)g).age)の意味がよくわからないのですが、
わかる方いらしたらご教授よろしくお願いします。
お礼
回答ありがとうございました! すごく分かりやすくてイメージしやすかったです。