Heim  >  Artikel  >  Java  >  Was bedeutet :: in Java

Was bedeutet :: in Java

下次还敢
下次还敢Original
2024-05-09 06:54:18332Durchsuche

Die Doppelpunkt-Notation (::) in Java stellt die folgenden Konzepte dar: Statische Methodenreferenz Klassenmethodenreferenz Konstruktorreferenz Typparameter-Inferenz

Was bedeutet :: in Java

Doppelter Doppelpunkt (::) in Java

Doppelter Doppelpunkt ( :: ) Symbole repräsentieren verschiedene Konzepte in der Java-Sprache, abhängig vom Kontext, in dem sie verwendet werden.

1. Statische Methodenreferenz

Doppelter Doppelpunkt kann verwendet werden, um eine Referenz auf eine statische Methode zu erhalten. Zum Beispiel:

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

Der obige Code verweist mit einem Doppelpunkt auf die statische Methode 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. Klassenmethodenreferenz🎜🎜🎜Doppelter Doppelpunkt kann auch verwendet werden, um eine Referenz auf eine Klassenmethode zu erhalten. Zum Beispiel: 🎜rrreee🎜Der obige Code verweist mit einem Doppelpunkt auf die Klassenmethode Person.introduceYourself(). 🎜🎜🎜3. Konstruktorreferenz🎜🎜🎜Doppelter Doppelpunkt kann auch verwendet werden, um eine Referenz auf den Konstruktor zu erhalten. Zum Beispiel: 🎜rrreee🎜Der obige Code verweist mit einem Doppelpunkt auf den Konstruktor String(). 🎜🎜🎜4. Typparameter-Inferenz🎜🎜🎜In Java 8 und höher können Doppelpunkte für die Typparameter-Inferenz verwendet werden. Zum Beispiel: 🎜rrreee🎜Der obige Code leitet die Typparameter von Function.identity() und String::length mithilfe von Doppelpunkten ab. 🎜

Das obige ist der detaillierte Inhalt vonWas bedeutet :: in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was bedeutet Flush in Java?Nächster Artikel:Was bedeutet Flush in Java?