java - Collections.unmodifiableList wraps already unmodifiable list? -


in collections.unmodifiablelist implementation see wraps given list unmodifiablelist if given list unmodifiablelist... if i'm calling method on , on - huge stack trace, this:

  @ java.util.collections$unmodifiablecollection.size(collections.java:998)     @ java.util.collections$unmodifiablecollection.size(collections.java:998)     @ java.util.collections$unmodifiablecollection.size(collections.java:998)     @ java.util.collections$unmodifiablecollection.size(collections.java:998)     @ java.util.collections$unmodifiablecollection.size(collections.java:998)     @ java.util.collections$unmodifiablecollection.size(collections.java:998)     @ java.util.collections$unmodifiablecollection.size(collections.java:998)     @ java.util.collections$unmodifiablecollection.size(collections.java:998)     @ java.util.collections$unmodifiablecollection.size(collections.java:998)     @ java.util.collections$unmodifiablecollection.size(collections.java:998)     @ java.util.collections$unmodifiablecollection.size(collections.java:998)     @ java.util.collections$unmodifiablecollection.size(collections.java:998)     @ java.util.collections$unmodifiablecollection.size(collections.java:998)     @ java.util.collections$unmodifiablecollection.size(collections.java:998)     @ java.util.collections$unmodifiablecollection.size(collections.java:998)     @ java.util.collections$unmodifiablecollection.size(collections.java:998)     @ java.util.collections$unmodifiablecollection.size(collections.java:998)     @ java.util.collections$unmodifiablecollection.size(collections.java:998)     @ java.util.collections$unmodifiablecollection.size(collections.java:998)     @ java.util.collections$unmodifiablecollection.size(collections.java:998)     @ java.util.collections$unmodifiablecollection.size(collections.java:998)     @ java.util.collections$unmodifiablecollection.size(collections.java:998)     @ java.util.collections$unmodifiablecollection.size(collections.java:998) 

i thought check if list unmodifiabellist , return same list, google's collections does, not public class..

any suggeestions how solve elegantly?

thanks

a workaround see, if can modify places lists wrapped, use own unmodifiable list wrapper, , check if list not instance of list wrapper before wrapping it.

another workaround use

private static final class<?> unmodifiable_list_class =      collections.unmodifiablelist(new arraylist<object>(0)).getclass();  ...  if (!thelist.getclass().equals(unmodifiable_list_class)) {     return collections.unmodifiablelist(thelist); } 

Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -