首頁  >  文章  >  Java  >  java中::是什麼意思

java中::是什麼意思

下次还敢
下次还敢原創
2024-05-09 06:54:18332瀏覽

Java 中的雙冒號(::) 符號代表以下概念:靜態方法引用類別方法引用建構子參考類型參數推斷

java中::是什麼意思

Java 中的雙冒號(::)

雙冒號(::) 符號在Java 語言中表示了多種概念,取決於所使用的上下文。

1. 靜態方法引用

雙冒號可以用來取得靜態方法的參考。例如:

<code class="java">List<String> names = List.of("Alice", "Bob", "Carol");
names.forEach(System.out::println);</code>

上面的程式碼使用雙冒號引用了 System.out.println() 靜態方法。

2. 類別方法引用

雙冒號也可以用來取得類別方法的參考。例如:

<code class="java">class Person {
    public void introduceYourself() {
        System.out.println("Hello, my name is " + name);
    }
}

List<Person> people = List.of(new Person(), new Person());
people.forEach(Person::introduceYourself);</code>

上面的程式碼使用雙冒號引用了 Person.introduceYourself() 類別方法。

3. 建構子參考

雙冒號也可以用來取得建構子的參考。例如:

<code class="java">List<String> names = List.of("Alice", "Bob", "Carol");
Map<String, Integer> nameLengths = names.stream()
    .collect(Collectors.toMap(String::length));</code>

上面的程式碼使用雙冒號引用了 String() 建構子。

4. 類型參數推論

在 Java 8 及更高版本中,雙冒號可以用於型別參數的推論。例如:

<code class="java">List<String> names = List.of("Alice", "Bob", "Carol");
Map<String, Integer> nameLengths = names.stream()
    .collect(Collectors.toMap(Function.identity(), String::length));</code>

上面的程式碼使用雙冒號推斷了 Function.identity()String::length 的類型參數。

以上是java中::是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn