ホームページ  >  記事  >  Java  >  Java で :: は何を意味しますか

Java で :: は何を意味しますか

下次还敢
下次还敢オリジナル
2024-05-09 06:54:18330ブラウズ

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() 静的メソッドを参照しています。 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

🎜2. クラスメソッドの参照🎜🎜🎜ダブルコロンを使用してクラスメソッドへの参照を取得することもできます。例: 🎜rrreee🎜 上記のコードは、二重コロンを使用して person.introduceYourself() クラス メソッドを参照しています。 🎜🎜🎜3. コンストラクター参照🎜🎜🎜二重コロンを使用してコンストラクターへの参照を取得することもできます。例: 🎜rrreee🎜 上記のコードは、二重コロンを使用して String() コンストラクターを参照します。 🎜🎜🎜4. 型パラメータの推論🎜🎜🎜 Java 8 以降では、型パラメータの推論に二重コロンを使用できます。例: 🎜rrreee🎜 上記のコードは、二重コロンを使用して Function.identity()String::length の型パラメーターを推測します。 🎜

以上がJava で :: は何を意味しますかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。