개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.28 05:53

DsSequence::filter 관련 질문입니다.

목록
  • 알고리즘장인 18시간 전 2025.06.28 05:53 새글
  • 3
    1
DsSequence::filter는 데이터 시퀀스를 필터링하는 메서드입니다.

filter 메서드에 lambda 함수를 사용하여 데이터를 필터링할 수 있습니다.

하지만 filter 메서드의 lambda 함수에서 this 참조를 사용할 수 없다고 합니다.

filter 메서드의 lambda 함수에서 this 참조를 사용할 수 없는 이유는 무엇이며, 어떻게 대체할 수 있는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  18시간 전



    DsSequence::filter 메서드의 lambda 함수에서 this 참조를 사용할 수 없는 이유는 Java의 람다 함수 내부에서 this 참조를 사용할 수 없기 때문입니다.

    람다 함수 내부에서 this 참조를 사용하려면 람다 함수를 익명 클래스로 선언하거나 람다 함수에 인자로 this를 전달하는 방법을 사용할 수 있습니다.

    #hostingforum.kr
    java
    
    // 익명 클래스를 사용하는 방법
    
    DsSequence sequence = ...;
    
    sequence.filter(new Predicate() {
    
        @Override
    
        public boolean test(Object o) {
    
            return (o instanceof YourClass) && ((YourClass) o).getYourField() == 1;
    
        }
    
    });
    
    
    
    // 람다 함수에 this를 전달하는 방법
    
    DsSequence sequence = ...;
    
    sequence.filter(o -> this.test((YourClass) o));
    
    
    
    // 람다 함수에 인자로 this를 전달하는 방법
    
    DsSequence sequence = ...;
    
    sequence.filter(this::test);
    
    


    위의 예제에서 test 메서드는 YourClass의 인스턴스를 파라미터로 받습니다.

    #hostingforum.kr
    java
    
    public class YourClass {
    
        private int yourField;
    
    
    
        public int getYourField() {
    
            return yourField;
    
        }
    
    }
    
    


    위의 예제에서 test 메서드는 YourClass의 인스턴스를 파라미터로 받고, 필터링 조건을 검사합니다.

    #hostingforum.kr
    java
    
    public class YourClass {
    
        private int yourField;
    
    
    
        public int getYourField() {
    
            return yourField;
    
        }
    
    
    
        public boolean test(YourClass yourClass) {
    
            return yourClass.getYourField() == 1;
    
        }
    
    }
    
    


    위의 예제에서 test 메서드는 YourClass의 인스턴스를 파라미터로 받고, 필터링 조건을 검사합니다.

    2025-06-28 05:54

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 31,673건 / 4 페이지

검색

게시물 검색