title: An effective way to convert a sequence of Strings to URIs
body: <p>This is a follow up question of <a href="https://stackoverflow.com/q/27613957/330457">How to map strings to URIs?</a></p>
  
  <p>I have a <code>String</code> of URIs delimited with some white spaces.</p>
  
  <pre><code>http://...[sp]http://...[sp]http://...
  </code></pre>
  
  <p>I'm trying to split it and, finally, collect them to a <code>List</code>.</p>
  
  <p>I, so far, wrote following codes.</p>
  
  <pre class="lang-java prettyprint-override"><code>final List&lt;URI&gt; uris = Stream.of(string.split("\\s"))
      .distinct()
      .filter(s -&gt; s.isEmpty())
      .map(s -&gt; {
          try {
              return new URI(s);
          } catch (final URISyntaxException urise) {
              return null;
          }
      })
      .filter(uri -&gt; uri != null)
      .collect(Collectors.toList());
  </code></pre>
  
  <p>My question is,</p>
  
  <ol>
  <li>Is <code>null</code> creation by URI constructor and following filtering is inevitable?</li>
  <li>Is there any more effective way to do this?</li>
  </ol>