Ecco un nuovo quesito per voi maghi della programmazione java.
Quello che voglio fare oggi è ordinare un esemplare di Coin[] utilizzando una classe che implementa Comparator.

codice:
Coin.java 
/** A class to manage coins
 * @author Simone
 */

public class Coin
{
	/** 
	 * Construct a new coin of a certain type
	 * @param aValue value of the coin
	 * @param aName name of the coin
	 */
	public Coin (String aName, double aValue)
	{
		name = aName;
		value = aValue;
	}
	
	/** 
	 * Return the value of the inserted coin
	 * @return value in dollars
	 */
	public double getValue()
	{
		return value;
	}
		
	/**
	 * Return the name of the coin
	 * @return name of coin
	 */
	public String getName()
	{
		return name;
	}

	private String name;
	private double value;
}


CoinComparator.java
/**
 * A class to compare Coin
 * @author Simone
 *
 */
public class CoinComparator implements Comparator<Coin>
{
	public int compare(Coin a, Coin b)
	{
		if (a.getValue() < b.getValue()) return -1;
		if (a.getValue() == b.getValue()) return 0;
		return 1;
	}
}


Comparator.java
/**
 * 
 * @author Simone
 * A class to compare coin
 * @param <Coin> samples of Coin
 */
public interface Comparator<Coin>
{
	int compare(Coin a, Coin b);
}
A parte il javadoc scritto un pò di fretta, la classe dovrebbe andar bene. Vorrei testarla in questo modo
codice:
Tester.java
import java.util.Arrays;

public class Tester
{
	public static void main(String[] args)
	{
		//Creo esemplari di coin
		Coin quarters = new Coin("quarters", 0.25);
		Coin dimes = new Coin("dimes", 0.10);
		Coin pennies = new Coin("pennies", 0.05);
		Coin nickels = new Coin("nickels", 0.01);	
	
		//Creo un comparatore e comparo due coin qualsiasi		
		CoinComparator c = new CoinComparator();		
		int n = c.compare(quarters, dimes);
		System.out.print(n);//Stampa 1 -> OK
		
		//Creo un array di Coin
		Coin[] coins = {quarters, dimes, pennies, nickels};		
		Arrays.sort(coins, new CoinComparator());//Errore: the method is not applicable
	}
}
In pratica quando scrivo il programma tester Eclipse mi dice che l'ultimo metodo non è applicabile. Perchè? Chiedo lumi a voi perchè io davvero non capisco

Grazie in anticipo!