IT이야기

화살표 연산자 '->'는 Java에서 무엇을 합니까?

cyworld 2022. 6. 18. 09:32
반응형

화살표 연산자 '->'는 Java에서 무엇을 합니까?

어떤 코드를 통해 사냥을 하다가 우연히 화살표 연산자를 만났는데 정확히 어떤 역할을 하는 거죠?자바에는 화살표 연산자가 없는 줄 알았어요.

return (Collection<Car>) CollectionUtils.select(listOfCars, (arg0) -> {
        return Car.SEDAN == ((Car)arg0).getStyle();
});

상세: Java 6, Apache Commons Collection, IntelliJ 12

업데이트/응답:IntelliJ 12는 람다를 지원하는 Java 8을 지원하며 술어를 "폴딩"하여 람다로 표시하는 것으로 나타났습니다.다음은 "접히지 않은" 코드입니다.

return (Collection<Car>) CollectionUtils.select(listOfCars, new Predicate() {
    public boolean evaluate(Object arg0) {
        return Car.SEDAN == ((Car)arg0).getStyle();
    }
});

이는 Java 8에서 도입될 새로운 람다 표현식의 구문 중 일부입니다.요령 파악을 위한 온라인 튜토리얼이 몇 개 있습니다.다음 링크를 클릭해 주세요.기본적으로는->는 파라미터(왼쪽)와 실장(오른쪽)을 구분합니다.

람다 식을 사용하는 일반적인 구문은 다음과 같습니다.

(Parameters) -> { Body }어디서->는 파라미터와 람다 식 본문을 구분합니다.

매개 변수는 메서드와 동일한 방식으로 괄호로 묶이고 람다 식 본문은 중괄호로 묶인 코드 블록입니다.

이것은, 기능하는 인터페이스를 실장하는 경우에도 편리합니다.

Runnable r = ()-> System.out.print("Run method");

와 동등하다

Runnable r = new Runnable() {
        @Override
        public void run() {
            System.out.print("Run method");
        }
};

이 화살표는 당신의 IDE 때문에 존재하는 것 같습니다.IntelliJ IDEA는 어떤 코드로 그런 일을 합니다.이것을 코드 폴딩이라고 합니다.화살표를 클릭하여 확장할 수 있습니다.

람다 표현이에요.

즉, listOfCars에서 arg0이 해당 목록의 항목 중 하나임을 의미합니다.이 아이템을 사용하여 대괄호 안에 무엇이 들어있든 상관없습니다.

이 예에서 그는 조건에 맞는 차량 목록을 반환할 것입니다.

Car.SEDAN == ((Car)arg0).getStyle();

Java 8에 추가된 람다 식에 대한 새 연산자

람다 표현식은 방법 쓰기의 짧은 방법입니다.
기능 인터페이스를 구현하기 위해 간접적으로 사용됩니다.

기본 구문 : (파라미터) -> {문;}

효과적인 람다 표현식을 쓰기 위한 몇 가지 기본 규칙이 있으며, 이를 알아야 합니다.

언급URL : https://stackoverflow.com/questions/15146052/what-does-the-arrow-operator-do-in-java

반응형