在Java中,方法引用可以用于接口。方法引用是Java 8引入的一種簡(jiǎn)化Lambda表達(dá)式的寫法。它們可以用來(lái)表示已經(jīng)存在的方法或者構(gòu)造函數(shù)。方法引用可以用于接口,特別是當(dāng)你需要將一個(gè)現(xiàn)有的方法作為L(zhǎng)ambda表達(dá)式傳遞給高階函數(shù)時(shí)。
以下是一些使用Java方法引用的示例:
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
names.sort(String::compareToIgnoreCase);
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
names.sort((name1, name2) -> name1.compareToIgnoreCase(name2));
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
names.sort(String::compareToIgnoreCase);
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
List<String> reversedNames = names.stream()
.map(String::new)
.collect(Collectors.toList());
在這些示例中,String::compareToIgnoreCase
是一個(gè)方法引用,它表示 String
類中的 compareToIgnoreCase
方法。當(dāng)這個(gè)方法引用用作Lambda表達(dá)式的參數(shù)時(shí),它可以替代一個(gè)匿名內(nèi)部類或者實(shí)現(xiàn)接口的類。