I wouldn't compare it like that. Templates are more like meta-programming. Templates can achieve what you can do with Java generics, but they can also do a lot more.
I wouldn't learn C++ for the templates. Except you want to learn stuff by getting your hands dirty. The same would be to learn C for trying out pointer arithmetic and shooting into your own foots ;-)