<div dir="ltr"><div dir="ltr">Here's a Immutable Double List.  Maybe code like this could improve immutability in X3DJSAIL?  I don't know why it doesn't work with Float.<div><br>This, by my eyes, works.   I just don't know what to do with floats, except copy stuff.  Maybe we should be copying in the first place?<br><div><br></div></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 static final double[] DOUBLE_ARRAY_FIELDOFVIEW_DEFAULT_VALUE = new double [] {-1f,-1f,1f,1f};<br>  public final List<Double> NOMOD_FIELDOFVIEW_DEFAULT_VALUE;<br>  public List<Double> MOD_FIELDOFVIEW;<br>  public NoModDoubleArray() {<br>    NOMOD_FIELDOFVIEW_DEFAULT_VALUE = Collections.unmodifiableList(Arrays.asList(Arrays.stream(DOUBLE_ARRAY_FIELDOFVIEW_DEFAULT_VALUE).boxed().toArray(Double[]::new)));<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>  }<br>}<br></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="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>