>  기사  >  Java  >  ::는 자바에서 무엇을 의미하나요?

::는 자바에서 무엇을 의미하나요?

下次还敢
下次还敢원래의
2024-05-09 06:54:18332검색

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의 유형 매개변수를 추론합니다. 🎜

위 내용은 ::는 자바에서 무엇을 의미하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.