>source

내 Java 프로젝트에는 여러 개인 필드와 해당 getter 및 setter가있는 Java 응답 객체가 있습니다.

public class Response {
        String resp1Id;
        String resp1Message;
        String resp2Id;
        String resp2Message;
        //getters & setters
}

멤버를 자신의 클래스로 그룹화하고 Intellij 리팩토링을 사용하여 아래와 같은 응답 객체에 해당 객체를 가지고 싶습니다. 응답 객체가 여러 곳에서 사용되고 있으며 수동으로 리팩터링 할 수 없습니다. 나는 intellj 리 팩터/추출을 수업에 사용하려고했지만 내가 원하는 방식으로 할 수 없었습니다. extract-delegate를 사용하면 원하지 않는 것과 다르게 나타납니다. 도움을 주시면 감사하겠습니다.

public class Response {
        Resp1 resp1;
        Resp2 resp2Id;
        //getters & setters
}
public class Resp1 {
        String resp1Id;
        String resp1Message;
        //getters & setters
}
public class Resp2 {
        String resp2Id;
        String resp2Message;
        //getters & setters
}

  • 답변 # 1

    아래 단계에 따라 달성했습니다. Intellij에는 단일 단계 리팩토링 도구가 없습니다. [IntelliJ가 속성 (get/setter)을 필드로 리팩터링 할 수있는 단서가 있습니까?

    1) Response.java 클래스에서 필드를 공개하십시오.

    public String resp1Id;
    
    

    2) intellij에서 '인라인 ...'리팩토링을 사용하여 접근 자 메소드 (게터 및 세터 모두)를 리팩터링하십시오. (이 단계 후 샘플 코드)

    response.resp1Id = "abcdef";
    String id = response.resp1Id;
    
    

    3) 클래스를 위임하기위한 필드 추출 필드로 새로운 수업이 만들어집니다. (이 단계 후 샘플 코드)

    public String resp1Id;
    
    

    4) 리팩터링-필드를 새로운 클래스로 캡슐화하여 필드를 비공개로 만들고 접근 자 메서드를 만듭니다. (이 단계 후 샘플 코드)

    response.getResp1().setResp1Id("ram");
    String kumar = response.getResp1().getResp1Id();
    
    

  • 이전 두 요소의 요소를 C #의 새 목록으로 합치는 방법이 있습니까?
  • 다음 javascript - HtmlBeginForm에서 onsubmit 매개 변수에서 return을 사용하는 목적은 무엇입니까?