There is no exact equivalent (since the type system doesn't work in quite the same way, with type erasure and all), but you can get very similar functionality with in and out using covariance and contravariance.
I don't know if you can do this inline for a variable, but for a class you can do: public class MyArray<T> where T: someBaseClass
or for a function public T getArrayList<T>(ArrayList<T> arr) where T: someBaseClass
I didn't see it on the page but using the where keyword it might be possible for a variable.