The U doesn't refer to a class object. It refers to a type. In this case, it refers to the String type.
U is called a "generic type parameter". It's like a variable, but instead of holding a value like a primitive or object, it holds a type reference.
You can tell that the mapToInt() method has a generic type parameter because it is listed in front of the method, using angular brackets, like this: <U>
So who decides the value of this parameter? Well, just like with an ordinary method parameter, the caller of the method decides what type U stands for.
By calling the method with the method reference FizzBuzz::getStringForNum, you've decided that U refers to String, because mapToObj() expects a function that converts an int to a U, and you've passed it a reference to a method that converts an int to a String.