2010-11-18 7 views
3

인라인 일부 코드를 지우고메서드 (예 : concatStrings(String...))가 포함 된 com.example.StringHelper이 발생했습니다 (예 : concatStrings(String...)).이 클래스를 서브 클래 싱하는 많은 클래스가 있으므로 호출 할 수 있습니다. concatStrings(str1, str2) 다음과 같은 클래스 앞에 접두사를 붙이지 않고 StringHelper.concatStrings(str1, str2)일식의 모든 정적 가져 오기

그 이유만으로 클래스를 서브 클래 싱하지 않기를 바랬습니다. 다음 정적 가져 오기를 파일 서브 클래 싱 상단에 붙여 넣었습니다 그것을 제거한 후 그것 :

import static com.example.StringHelper.*; 

Eclipse는 이것을 사용중인 메소드에 대해서만 특정 가져 오기로 단순화했습니다.

질문 :이 정적 가져 오기를 "인라인"으로 Eclipse에 연결하는 간단한 방법이 있습니까? 실제로 정적 가져 오기를 제거하고 모든 전화 앞에 StringHelper.이라는 접두사를 추가 할 수 있습니까?

참고 이것은 단순한 인위적인 예제이므로, 먼저 StringHelper가 필요한 이유에 대해 불평하지 마십시오.

답변

4

이 그것을 할 것입니다 :

  • 강조 concatStrings 중 하나 호출을(). 하이라이트에 괄호를 포함하십시오. 리 팩터/추출 방법을 선택하고 foo라고합니다. "대체 방법으로 47 문장을 추가하십시오."
  • 새로운 foo 메소드에서 "StringHelper"를 추가하십시오. concatStrings
  • 의 호출에 접두사는
  • 마 팩터/인라인
  • 푸 없애 정적 가져 오기를 제거하고 자신이 속한 곳 그들의 빛나는 새로운 접두사와 함께 다시 정적 전화를했습니다.
+0

concatStrings를 선택하고 "추출 방법 ..."을 선택하면 "단일 메서드 이름을 추출 할 수 없습니다."라는 팝업이 표시됩니다. –

+0

메서드 이름뿐만 아니라 괄호도 선택해야합니다. –

1

자동 검색 방법이 있는지 모르겠지만 은 수동으로 도울 수 있습니다. 가져 오기를 삭제 한 다음 오류가있는 각 행을 클릭하십시오. '빠른 수정'을 위해 ctrl-1을 누르고 가져 오기를 추가하는 대신 패키지 이름 접두사가있는 빠른 수정을 선택하십시오.

+0

감사로 설정,하지만 난 빠른 수정이 알고 생각하지 않는다 정적 가져 오기를 삭제하면 클래스에 대해. 어쨌든, 각 방법에 대한 찾기 - 바꾸기가 더 빠를 것입니다 (일부 클래스는 전체적으로 20 번 방법을 사용합니다). –

0
Preferences -> Java -> Code Style -> Organize Imports 

여기서 그룹화하는 데 필요한 가져 오기 수를 구성 할 수 있습니다.

+0

StringHelper. * 정적 가져 오기 줄을 사용하는 3 가지 방법 각각에 대해 하나씩 손상시키는 것에 대해 불평하지 않습니다. 정적 가져 오기 선을 완전히 제거하고 StringHelper 대신 메서드 호출에 접두사를 붙일 수 있는지 묻습니다. –

+0

아, 사과드립니다. – Jeremy

0

환경 설정> 자바> 코드 스타일> 구성 가져 오기 :

"에 필요한 정적 수입의 수 *."1.

관련 문제