title: Avoid temp variables with constructing items to add to a list
body: <p>Java 8 has so many features that allow you to avoid temp variables and functions, it seems that there has to be a way to avoid using these temp vars to create this list:</p>
  
  <pre><code>List&lt;Phone&gt; phones = new ArrayList&lt;&gt;();
  Phone p1 = new Phone();
  p1.setNumber(this.mainPhoneNumber);
  p1.setExtension(this.mainPhoneExt);
  p1.setType(this.mainPhoneDesc);
  phones.add(p1);
  Phone p2 = new Phone();
  p2.setNumber(this.secondaryPhoneNumberOne);
  p2.setExtension(this.secondaryPhoneExtOne);
  p2.setType(this.secondaryPhoneDescOne);
  phones.add(p2);
  Phone p3 = new Phone();
  p3.setNumber(this.secondaryPhoneNumberTwo);
  p3.setExtension(this.secondaryPhoneExtTwo);
  p3.setType(this.secondaryPhoneDescTwo);
  phones.add(p3);
  </code></pre>
  
  <p>I have a bunch of ugly member variables that need to be collated into a list.  The <code>Phone</code> object does not have a nice constructor, and I cannot change it.</p>
  
  <p>How can I make this list from member variables without defining the three temp objects <code>p1, p2, p3</code>?</p>