<div dir="ltr"><div dir="ltr">Duh, I forgot to test on more than one instance.  I'm going to send this again.  But this may not be the last time.  I really apologize, I send an email, then get another idea.  My wife needs tending to.<div><br></div><div>This works, so far.  Just it's probably 3 times the memory I would like to use!</div><div><br></div><div>import java.util.ArrayList;<br>import java.util.List;<br>import java.util.Arrays;<br>import java.util.Collections;<br><br>public class NoModDoubleArray {<br>  public final double[] DOUBLE_ARRAY_FIELDOFVIEW_DEFAULT_VALUE = new double [] {-1f,-1f,1f,1f};<br>  public final List<Double> NOMOD_FIELDOFVIEW_DEFAULT_VALUE;<br>  {{<br>    NOMOD_FIELDOFVIEW_DEFAULT_VALUE =  Collections.unmodifiableList(Arrays.asList(Arrays.stream(DOUBLE_ARRAY_FIELDOFVIEW_DEFAULT_VALUE).boxed().toArray(Double[]::new)));<br>   }}<br>  public List<Double> MOD_FIELDOFVIEW;<br>  public NoModDoubleArray() {<br>    MOD_FIELDOFVIEW = Arrays.asList(Arrays.stream(DOUBLE_ARRAY_FIELDOFVIEW_DEFAULT_VALUE).boxed().toArray(Double[]::new));<br>    System.out.println("Immutable Array "+NOMOD_FIELDOFVIEW_DEFAULT_VALUE);<br>    try {<br>      System.out.println("Setting immutable index 0 to 0.0");<br>      NOMOD_FIELDOFVIEW_DEFAULT_VALUE.set(0, 0.0);<br>    } catch (UnsupportedOperationException ex) {<br>      ex.printStackTrace();<br>    }<br>    System.out.println("Setting double array index 0 to 0.0");<br>    DOUBLE_ARRAY_FIELDOFVIEW_DEFAULT_VALUE[0] = 0.0;<br>    System.out.println("Immutable Array "+NOMOD_FIELDOFVIEW_DEFAULT_VALUE);<br>    System.out.println("Mutable Array "+MOD_FIELDOFVIEW);<br>    System.out.println("Compare mutable to immutable "+MOD_FIELDOFVIEW.equals(NOMOD_FIELDOFVIEW_DEFAULT_VALUE));<br>    System.out.println("Setting mutable index 0 to 0.0");<br>    MOD_FIELDOFVIEW.set(0, 0.0);<br>    System.out.println("Immutable Array "+NOMOD_FIELDOFVIEW_DEFAULT_VALUE);<br>    System.out.println("Mutable Array "+MOD_FIELDOFVIEW);<br>    System.out.println("Compare mutable to immutable "+MOD_FIELDOFVIEW.equals(NOMOD_FIELDOFVIEW_DEFAULT_VALUE));<br>    System.out.println("Immutable Array "+NOMOD_FIELDOFVIEW_DEFAULT_VALUE);<br>  }<br>  public static void main(String[] args) {<br>    new NoModDoubleArray();<br>    new NoModDoubleArray();<br>  }<br>}<br></div><div>==================================================================</div><div>$ java net/coderextreme/NoModDoubleArray<br>Immutable Array [-1.0, -1.0, 1.0, 1.0]<br>Setting immutable index 0 to 0.0<br>java.lang.UnsupportedOperationException<br>        at java.base/java.util.Collections$UnmodifiableList.set(Collections.java:1504)<br>        at net.coderextreme.NoModDoubleArray.<init>(NoModDoubleArray.java:20)<br>        at net.coderextreme.NoModDoubleArray.main(NoModDoubleArray.java:37)<br>Setting double array index 0 to 0.0<br>Immutable Array [-1.0, -1.0, 1.0, 1.0]<br>Mutable Array [-1.0, -1.0, 1.0, 1.0]<br>Compare mutable to immutable true<br>Setting mutable index 0 to 0.0<br>Immutable Array [-1.0, -1.0, 1.0, 1.0]<br>Mutable Array [0.0, -1.0, 1.0, 1.0]<br>Compare mutable to immutable false<br>Immutable Array [-1.0, -1.0, 1.0, 1.0]<br>Immutable Array [-1.0, -1.0, 1.0, 1.0]<br>Setting immutable index 0 to 0.0<br>java.lang.UnsupportedOperationException<br>        at java.base/java.util.Collections$UnmodifiableList.set(Collections.java:1504)<br>        at net.coderextreme.NoModDoubleArray.<init>(NoModDoubleArray.java:20)<br>        at net.coderextreme.NoModDoubleArray.main(NoModDoubleArray.java:38)<br>Setting double array index 0 to 0.0<br>Immutable Array [-1.0, -1.0, 1.0, 1.0]<br>Mutable Array [-1.0, -1.0, 1.0, 1.0]<br>Compare mutable to immutable true<br>Setting mutable index 0 to 0.0<br>Immutable Array [-1.0, -1.0, 1.0, 1.0]<br>Mutable Array [0.0, -1.0, 1.0, 1.0]<br>Compare mutable to immutable false<br>Immutable Array [-1.0, -1.0, 1.0, 1.0]</div></div><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
</blockquote></div></div>
</blockquote></div></div>
</blockquote></div></div>