openlang

Groovy 맵을 얕게 복사하는 권장 방법

스크립트 안에서 맵을 얕게 복사해 두고 키 하나의 값을 나중에 바꾸고 싶어요. 스프레드 연산자를 쓰면 되긴 하죠. 그런데 Jenkins 파이프라인에서 실행하고, 조직 정책상 그 연산자를 쓸 수 없어요.

clone() 메서드 호출은 성공하지만 Intellij가 "Access to 'clone' exceeds its access rights"라고 알려 줘요. Jenkins readJSON으로 맵을 만들기 때문에 clone() 메서드 자체를 구현하지 않은 맵 비슷한 객체가 나올 수도 있다는 게 이유의 일부예요.

스프레드 연산자를 제외하면 맵을 얕게 복사하는 가장 관용적인 방법은 뭔가요?

영어에서 번역원문 보기

이어지는 대화 2

서로의 근거를 따라
  1. 고유 링크

    맵을 얕게 복사하는 더 짧은 방법을 찾았어요. 기존 맵에 빈 맵을 더하면 돼요. 예제예요.

    
    def baseline = [left: 2, right: 2]
    
    def duplicate = baseline + [:]
    
    assert duplicate == baseline
    assert !duplicate.is(baseline)
    영어에서 번역원문 보기

같은 질문의 다른 갈래

  1. SQL 파생 테이블을 거치면 사라지는 필드

    다음 SQL 문을 실행하고 있습니다: 이런 오류가 나옵니다: #1054 - Unknown column 'shipping.post_id' in 'on clause'. 꽤 단순한 코드 같은데 제대로 작동하게 만들지 못하겠습니다.…

    답글 2최근 활동 sql
  2. D 배열에서 일치하는 항목 찾기

    연관 배열에서는 이렇게 할 수 있어요 일반 배열에서는 어떻게 하나요? 예를 들면 이런 검증식을 쓰고 싶어요

    답글 2최근 활동 d
  3. PostgreSQL 9+에서 있을 수도 있는 열 안전하게 삭제하기

    테이블의 열을 하나 삭제하고 싶습니다. 그 열이 있는지 확인하려면 어떻게 해야 하나요? https://www.postgresql.org/docs/9.2/static/sql-altertable.html, 의 설명서를 읽었지만…

    답글 2최근 활동 sql