Incredibile, un errore davvero da novellino

Dato che sono qua ne approfitto per chiedere un'altra piccolezza (visto che faccio errori del genere) :
Ho il seguente metodo che dovrebbe sostituire la vocale che ho passato ad ogni vocale presente nella Stringa...io ho iniziato a fare il mio metodo solo che già al primo if mi dà errore per quello che c'è all'interno, ed anche questa volta a me sembra che a logica potrebbe andare bene...
qualche anima buona può aiutarmi
(ovviamente so che il metodo non è completo e che manca anche il return)

public static String sostituisci(char vocale, String str)
{
for(int i=0;i<str.length();i++)
{
if(str.charAt(i)=='a')
{
str.charAt(i)=vocale;
}
}
}