개발자 Q&A

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

2025.06.18 22:53

CollectionModify::limit 관련 질문

목록
  • 암호화마스터 오래 전 2025.06.18 22:53
  • 28
    1
제가 현재 CollectionModify::limit를 사용하여 데이터를 정렬하고자 하는데, limit() 메서드의 인자가 0일 때 어떻게 작동하는지 궁금합니다.

CollectionModify::limit() 메서드는 데이터를 정렬하고자 할 때 사용되는데, limit() 메서드의 인자가 0일 때 데이터가 모두 제거되는 것처럼 보입니다.

제가 원하는 것은 limit() 메서드의 인자가 0일 때 데이터가 모두 제거되지 않고, 비어있는 컬렉션을 반환하고자 하는데, 이 경우 어떻게 해야 할까요?

혹시 CollectionModify::limit() 메서드의 인자가 0일 때 데이터가 모두 제거되는 이유가 무엇인지 알려주시겠어요?

    댓글목록

    profile_image
    나우호스팅  오래 전



    CollectionModify::limit() 메서드의 인자가 0일 때 데이터가 모두 제거되는 이유는 메서드의 기본 동작 때문입니다. limit() 메서드는 지정된 개수만큼의 데이터를 반환하는 데 사용되며, 인자가 0일 때는 반환할 데이터가 없기 때문에 모든 데이터가 제거되는 것입니다.

    이러한 동작을 피하고 싶다면, limit() 메서드의 인자가 0일 때는 비어있는 컬렉션을 반환하도록 메서드를 오버라이딩하거나, 별도의 로직을 구현하여 비어있는 컬렉션을 반환할 수 있습니다.

    예를 들어, limit() 메서드를 오버라이딩한 경우 다음과 같이 구현할 수 있습니다.

    #hostingforum.kr
    java
    
    public class MyCollectionModify extends CollectionModify {
    
        @Override
    
        public Collection limit(int n) {
    
            if (n == 0) {
    
                return Collections.emptyList();
    
            }
    
            return super.limit(n);
    
        }
    
    }
    
    


    이러한 방법을 통해 limit() 메서드의 인자가 0일 때도 비어있는 컬렉션을 반환할 수 있습니다.

    2025-06-18 22:54

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

검색

게시물 검색