L'équivalent de C# anonyme méthodes en Java?

En C#, vous pouvez définir les délégués de façon anonyme (même si ils sont rien de plus que du sucre syntaxique). Par exemple, je peux le faire:

public string DoSomething(Func<string, string> someDelegate)
{
     //Do something involving someDelegate(string s)
} 

DoSomething(delegate(string s){ return s += "asd"; });
DoSomething(delegate(string s){ return s.Reverse(); });

Est-il possible de passer ce type de code en Java? Je suis en utilisant le framework de traitement, qui a une très ancienne version de Java (il n'a pas de générique).