More Readable Use Site extension Methods for java
Ali Ebrahimi
ali.ebrahimi1781 at gmail.com
Mon Dec 6 20:32:24 PST 2010
Hi John,
On Mon, Dec 6, 2010 at 10:54 PM, John Nilsson <john at milsson.nu> wrote:
> On Mon, Dec 6, 2010 at 7:51 AM, Ali Ebrahimi <ali.ebrahimi1781 at gmail.com>
> wrote:
> > import static MyUtils.select extends java.util.List;
>
> How would you handle wildcard imports?
>
Not very difficult,
>
> import static MyUtils.* extends java.util.List;
>
this statement results those methods that first param of them can accepts
reference type List.
in current sample above statement is equivalent with:
import static MyUtils.select extends java.util.List;
import static MyUtils.sortby extends java.util.List;
if MyUtils had other methods as following:
class MyUtils{
public <T> static List<T> select(List<T> list, Predicate<T> p){ ....}
public <T> static List<T> sortby(List<T> list, Sorter<T> p){....}
public <T> static ArrayList<T> select(ArrayList<T> list,
Predicate<T> p){....}
public <T> static T otherMethod(T t){....}
}
in this case the above statement is equivalent with:
import static MyUtils.select extends java.util.List; // List<T>
select(List<T> list, Predicate<T> p)
import static MyUtils.sortby extends java.util.List; // List<T>
sortby(List<T> list, Sorter<T> p)
import static MyUtils.otherMethod extends java.util.List; // T
otherMethod(T t)
The third method in MyUtils does not imported.
Best Regards,
Ali Ebrahimi
More information about the lambda-dev
mailing list