title: Is it allowed/adviseable to reuse a Collector?
body: <p>I have quite a lot spots in my code which do:</p>
  
  <pre><code>someStream.collect(Collectors.toList())
  </code></pre>
  
  <p>where <code>Collectors.toList()</code> creates a new collector on every use.</p>
  
  <p>This leads me to the question if it is allowed and advisable to do something like:</p>
  
  <pre><code>private final static Collector&lt;…&gt; TO_LIST = Collectors.toList()
  </code></pre>
  
  <p>for every type I use and then make use of that single Collector like:</p>
  
  <pre><code>someStream.collect(TO_LIST)
  </code></pre>
  
  <p>when a collector is required.</p>
  
  <p>As the collectors are stateless and just a collection of functions and characteristics, I should think it should work, but OTOH, <code>Collectors.toList()</code> creates a new <code>CollectorImpl&lt;&gt;</code> on every call.</p>
  
  <p>What are the downsides of reusing a Collector?</p>