The upcoming Java 5.0 (1.5.0) has support for templates. They are different from the templates in C++ though, but they look quite similar.

http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf

I think this is a great addition to the/any language, whether you like it or not (let's not start a flame war on Java).

I've skimmed though the article and have one question:
Code:
//Templated classes are written like this:
public interface Test<T>
{
  ...
}
//But templated methods are written like this
public <T> int test(T t)
{
  ...
}
Why not test<T>?