Github user StephanEwen commented on the issue:

    https://github.com/apache/flink/pull/5126
  
    Just a comment on the use of `TypeHint`:
    
    In the `DataSet` and `DataStream` API, we typically pass `TypeInformation` 
when offering an explicit way to describe the type. The reason is that 
`TypeInformation` is the core class to describe types, and when you pick up the 
type from somewhere to pass it on, you get a `TypeInformation`.
    
    The `TypeHint` class is used as a trick to create a `TypeInformation` by 
capturing the parameters through creating an anonymous subclass. In some way, 
one could always use `new TypeHint<Tuple2<Long, String>>(){}.getTypeInfo()`, 
but for convenience, some methods accept directly a `TypeHint`, mainly the 
`returns(...)` method.
    
    If you take `TypeHint` directly as a parameter, it becomes hard to pass the 
type if you for example obtain it from another `DataSet` via the `getType()` 
method.


---

Reply via email to