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中文網其他相關文章!