코드 조각은 동일한 논리를 수행하지만 두 개의 서로 다른 진입 점이 있습니다. 결과적으로 한 엔트리 포인트의 경우 System.getProperty를 사용해야하고 다른 엔트리 포인트의 경우 this.getProperty를 사용해야합니다. 나는 일시적으로 그리고 편리하게 시스템을 이것으로 대체하거나 그 반대의 경우로 하나의 경우에 두 개의 다른 진입 점에 대한 논리를 복제 할 필요가 없도록하는 것이 이상적입니다.java에서 System 클래스를 바꾸는 방법은 무엇입니까?
2
A
답변
0
this.getProperty(
은 필요에 따라 System.getProperty(
정적 메서드를 호출 할 수 있습니다. 부울을 useSystem
으로 만들고 this
필드로 만듭니다. 다음과 같이
그런 다음, this.getProperty(
을 정의 속성을 가져올 때
String this.getProperty(String arg){
if useSystem return System.getProperty(arg);
else{
//your logic for returning a property
}
}
항상 this.getProperty(
를 호출합니다. 진입 점에 따라 this.useSystem
을 true
또는 false
으로 설정할 수 있습니다.
+0
이것은 훌륭한 구현입니다. 감사합니다. – gal
0
당신은 다른 if 문 간단한을 사용할 수 있습니다
String property = isEntryPoint ? System.getProperty() : this.getProperty();
이 isEntryPoint 사용되는 엔트리 포인트를 결정하는 부울 플래그가 있다고 치죠.
관련 문제
- 1. java에서 \ n을 바꾸는 방법은 무엇입니까?
- 2. Java에서 "./"을 바꾸는 방법은 무엇입니까?
- 3. dll에서 클래스를 바꾸는 방법은 무엇입니까?
- 4. regex를 사용하여 Java에서 토큰을 바꾸는 방법은 무엇입니까?
- 5. Java에서 파일의 이름을 바꾸는 방법은 무엇입니까?
- 6. Java에서 사전으로 단어의 문자를 바꾸는 방법은 무엇입니까?
- 7. 배열 java에서 문자를 바꾸는 방법은 무엇입니까?
- 8. Java에서 표현식을 찾고 평가하고 바꾸는 방법은 무엇입니까?
- 9. Java에서 System 클래스의 위치는 어디입니까?
- 10. Java에서 런타임시 일반 클래스를 생성하는 방법은 무엇입니까?
- 11. java에서 확장 서브 클래스를 참조하는 방법은 무엇입니까?
- 12. 이미로드 된 클래스를 Java에서 언로드하는 방법은 무엇입니까?
- 13. Java에서 메서드라는 클래스를 찾는 방법은 무엇입니까?
- 14. Java에서 기본 기본 클래스를 설정하는 방법은 무엇입니까?
- 15. Java에서 제너릭 클래스를 직렬화하는 방법은 무엇입니까?
- 16. Java에서 제네릭 형식에서 클래스를 추론하는 방법은 무엇입니까?
- 17. Java에서 동등 클래스를 구현하는 방법은 무엇입니까?
- 18. Java에서 Socket 클래스를 인스턴스화하는 방법은 무엇입니까?
- 19. System 클래스 대신 자신의 클래스를 참조하는 방법은 무엇입니까?
- 20. Java에서 Windows Color System 호출
- 21. Java에서 문자열을 바꾸는 방법
- 22. js에서 텍스트를 바꾸는 방법은 무엇입니까?
- 23. 긴 텍스트의 일부 문자를 Java에서 최상의 성능으로 바꾸는 방법은 무엇입니까?
- 24. Java에서 백 슬래시를 다른 문자로 바꾸는 방법은 무엇입니까?
- 25. Java에서 XML 문서의 문자를 효율적으로 바꾸는 방법은 무엇입니까?
- 26. qt.conf를 바꾸는 방법은 무엇입니까?
- 27. 변수를 바꾸는 방법은 무엇입니까?
- 28. 런타임시 정적 클래스를 바꾸는 방법
- 29. "\"을 Java에서 "\\"로 바꾸는 방법
- 30. jQuery를 사용하여 클래스를 바꾸는 방법
부호를 보여주십시오 – sunrize920
@ sunrize920 나는이 경우에 충분한 질문을 던집니다. OP는 엔트리 포인트를 기반으로 객체의'System' 정적 메소드와 메소드를 동적으로 전환하기를 원합니다. – hexafraction
@hexafraction 예. 고맙습니다. – gal