在Java中,方法引用不能直接用于靜態上下文。方法引用主要用于替換匿名內部類或lambda表達式。要使用方法引用,您需要有一個實例方法或靜態方法。
但是,您可以使用以下方法之一在靜態上下文中實現類似的功能:
List<String> list = Arrays.asList("a", "b", "c");
list.sort(String::compareToIgnoreCase);
class MyClass {
private String name;
public MyClass(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
List<MyClass> list = Arrays.asList(new MyClass("a"), new MyClass("b"), new MyClass("c"));
list.sort(MyClass::getName);
請注意,在這種情況下,我們創建了一個MyClass
的實例列表,然后使用實例方法引用MyClass::getName
對列表進行排序。