필드에서 toString () 메서드를 생성하려면 어떻게해야합니까?

카 샤프 칸 사라

다음과 같은 필드를 포함하는 Java 클래스가 있습니다.

private int port;
private String portName;
private ArrayList portList;
private int id;

위의 블록을 터미널에 직접 붙여넣고 해당 명령 또는 스크립트에 대한 입력으로 제공하고 다음 출력을 제공 할 수 있도록 명령 또는 스크립트가 필요합니다.

public String toString() {
    return "{ " + "port=" + port + ",portName=" + portName + ",portList=" + portList + ",id=" + id + "}";
}
디저트

사용하는 oneliner awk(예 : GNU awk는)

awk 'BEGIN{printf"public String toString() {\n    return \"{ \""}{gsub(";$","");printf" + \"";if(NR>1){printf","};printf$3"=\" + "$3}END{print" + \"}\";\n}"}'

다음과 같이 사용하십시오.

$ awk 'BEGIN{printf"public String toString() {\n    return \"{ \""}{gsub(";$","");printf" + \"";if(NR>1){printf","};printf$3"=\" + "$3}END{print" + \"}\";\n}"}' <<EOF
> private int port;
> private String portName;
> private ArrayList portList;
> private int id;
> EOF
public String toString() {
    return "{ " + "port=" + port + ",portName=" + portName + ",portList=" + portList + ",id=" + id + "}";
}

설명 해설이있는 스크립트 버전

#!/usr/bin/awk -f
# do the following before processing the text
BEGIN {
  # print this text, '\n' is a line break and '\"' a literal '"'
  printf "public String toString() {\n    return \"{ \""
}
{
  # remove semicolon at the end of the line
  gsub(";$","");
  # print ' + "'
  printf " + \"";
  # if the line number is > 1 print ','
  if (NR > 1) { printf "," };
  # print the third row followed by '=" + ' and the third row again
  printf $3"=\" + "$3
}
# do the following after processing the text
END {
  # print ' + "}";\n}', '\n' is a line break
  print " + \"}\";\n}"
}

예를 들어 저장하고 generate_toString실행 가능하게 만들고 다음 chmod +x generate_toString과 같이 사용하십시오.

$ ./generate_toString <<EOF
> private int port;
> private String portName;
> private ArrayList portList;
> private int id;
> EOF
public String toString() {
    return "{ " + "port=" + port + ",portName=" + portName + ",portList=" + portList + ",id=" + id + "}";
}

이것이 당신이 요청한 것을 수행하지만 실제 문제를 해결하기 위해 훨씬 더 나은 접근 방식 이 있습니다 . 위의 @nickb 주석 뿐만 아니라 @DavidFoerster를 참조하십시오 . 바퀴를 재발 명 할 필요가 없습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

HyperJaxb가 toString () 메서드를 생성하도록하려면 어떻게해야합니까?

분류에서Dev

메인 메소드 내에서 Swing 요소를 생성하지 않으려면 어떻게해야합니까?

분류에서Dev

MacOS 용 SwiftUI에서 여러 줄 텍스트 필드를 생성하려면 어떻게해야합니까?

분류에서Dev

Kibana에서 필드 값 목록을 생성하려면 어떻게해야합니까?

분류에서Dev

잠금과 같은 사용 패턴으로 메서드를 생성하려면 어떻게해야합니까?

분류에서Dev

메서드에서 사운드를 재생하려면 어떻게해야합니까?

분류에서Dev

get 메서드에서 새 문자열을 생성하려면 어떻게해야합니까? (Java)

분류에서Dev

Codeigniter에서 API를 생성하려면 어떻게해야합니까?

분류에서Dev

색인 화면에서 메일의 날짜 필드를 mutt 표시하려면 어떻게해야합니까?

분류에서Dev

색인 화면에서 메일의 날짜 필드를 mutt 표시하려면 어떻게해야합니까?

분류에서Dev

Ionic에서 Android 용 백그라운드 서비스를 생성하려면 어떻게해야합니까?

분류에서Dev

Linux 서버에서 높은 CPU로드를 생성하려면 어떻게해야합니까?

분류에서Dev

Cloud Firestore에서 다른 필드가 생성 된 경우 문서의 필드를 업데이트하려면 어떻게해야합니까?

분류에서Dev

PostgreSQL 8.4에서 유니 코드 데이터베이스를 생성하려면 어떻게해야합니까?

분류에서Dev

PostgreSQL 8.4에서 유니 코드 데이터베이스를 생성하려면 어떻게해야합니까?

분류에서Dev

Swift에서 임의의 유니 코드 문자를 생성하려면 어떻게해야합니까?

분류에서Dev

Rails에서 HTTP 요청을 생성하려면 어떻게해야합니까?

분류에서Dev

목록에서 사전을 생성하려면 어떻게해야합니까?

분류에서Dev

다른 백본 메서드에서 JavaScript 메서드를 사용하려면 어떻게해야합니까?

분류에서Dev

노드 js의 RSA 공개 키에서 SKI를 생성하려면 어떻게해야합니까?

분류에서Dev

SSL 핸드 셰이크에서 대칭 키를 생성하려면 어떻게해야합니까?

분류에서Dev

Ubuntu 18.04에서 본드 인터페이스를 생성하려면 어떻게해야합니까?

분류에서Dev

Rails 5에서 멤버 필드에 "like"쿼리를 작성하려면 어떻게해야합니까?

분류에서Dev

이 메서드를 비 동기화하려면 어떻게해야합니까?

분류에서Dev

displayAd () 메서드를 호출하려면 어떻게해야합니까?

분류에서Dev

JavaScript에서 String에 대한 대체 메소드를 작성하려면 어떻게해야합니까?

분류에서Dev

Angular / Express / MongoDB에서 필터를 사용하여 검색을 생성하려면 어떻게해야합니까?

분류에서Dev

IntelliJ IDEA에서 빌더 메서드를 생성하는 라이브 템플릿을 구성하려면 어떻게해야합니까?

분류에서Dev

Haskell에서 스레드 목록을 생성하고 종료하려면 어떻게해야합니까?

Related 관련 기사

  1. 1

    HyperJaxb가 toString () 메서드를 생성하도록하려면 어떻게해야합니까?

  2. 2

    메인 메소드 내에서 Swing 요소를 생성하지 않으려면 어떻게해야합니까?

  3. 3

    MacOS 용 SwiftUI에서 여러 줄 텍스트 필드를 생성하려면 어떻게해야합니까?

  4. 4

    Kibana에서 필드 값 목록을 생성하려면 어떻게해야합니까?

  5. 5

    잠금과 같은 사용 패턴으로 메서드를 생성하려면 어떻게해야합니까?

  6. 6

    메서드에서 사운드를 재생하려면 어떻게해야합니까?

  7. 7

    get 메서드에서 새 문자열을 생성하려면 어떻게해야합니까? (Java)

  8. 8

    Codeigniter에서 API를 생성하려면 어떻게해야합니까?

  9. 9

    색인 화면에서 메일의 날짜 필드를 mutt 표시하려면 어떻게해야합니까?

  10. 10

    색인 화면에서 메일의 날짜 필드를 mutt 표시하려면 어떻게해야합니까?

  11. 11

    Ionic에서 Android 용 백그라운드 서비스를 생성하려면 어떻게해야합니까?

  12. 12

    Linux 서버에서 높은 CPU로드를 생성하려면 어떻게해야합니까?

  13. 13

    Cloud Firestore에서 다른 필드가 생성 된 경우 문서의 필드를 업데이트하려면 어떻게해야합니까?

  14. 14

    PostgreSQL 8.4에서 유니 코드 데이터베이스를 생성하려면 어떻게해야합니까?

  15. 15

    PostgreSQL 8.4에서 유니 코드 데이터베이스를 생성하려면 어떻게해야합니까?

  16. 16

    Swift에서 임의의 유니 코드 문자를 생성하려면 어떻게해야합니까?

  17. 17

    Rails에서 HTTP 요청을 생성하려면 어떻게해야합니까?

  18. 18

    목록에서 사전을 생성하려면 어떻게해야합니까?

  19. 19

    다른 백본 메서드에서 JavaScript 메서드를 사용하려면 어떻게해야합니까?

  20. 20

    노드 js의 RSA 공개 키에서 SKI를 생성하려면 어떻게해야합니까?

  21. 21

    SSL 핸드 셰이크에서 대칭 키를 생성하려면 어떻게해야합니까?

  22. 22

    Ubuntu 18.04에서 본드 인터페이스를 생성하려면 어떻게해야합니까?

  23. 23

    Rails 5에서 멤버 필드에 "like"쿼리를 작성하려면 어떻게해야합니까?

  24. 24

    이 메서드를 비 동기화하려면 어떻게해야합니까?

  25. 25

    displayAd () 메서드를 호출하려면 어떻게해야합니까?

  26. 26

    JavaScript에서 String에 대한 대체 메소드를 작성하려면 어떻게해야합니까?

  27. 27

    Angular / Express / MongoDB에서 필터를 사용하여 검색을 생성하려면 어떻게해야합니까?

  28. 28

    IntelliJ IDEA에서 빌더 메서드를 생성하는 라이브 템플릿을 구성하려면 어떻게해야합니까?

  29. 29

    Haskell에서 스레드 목록을 생성하고 종료하려면 어떻게해야합니까?

뜨겁다태그

보관