Welcome to the wonderful world of generics.

The emptyList method is defined as follows:

public static final <T> List 
<http://download.oracle.com/javase/1,5.0/docs/api/java/util/List.html><T> 
emptyList()

With the statement Collection<String> s = Collections.emptyList(), the 
compiler knows (because of the declaration of 's'), what the type for 'T' 
is. It is 'String'.

And i'm still not sure why the compiler can't pick up the same info from the 
's' parameter declaration of the method 'method'.... 
However,  you can fix this by changing the method signature just a bit:
private void method(Collection<*? super *String> s) 
{ 
    // Nothing 
} 

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to