나는 자바 1.5 컴파일러를 가지고 있고 1.4 컴파일러도 갖고 싶지는 않지만 문자열 연결을 제외하고는 1.5 컴파일러를 사용하여 빌드 된 모든 것이 1.4 환경에서 작동하기 때문에 사용해야한다. 유일한 차이는 StringBuilder
과 StringBuffer
사이입니다. 1.5 컴파일러가 1.4 문자열 연결 클래스를 사용하도록 만드는 방법이 있습니까?Java 컴파일러를 사용할 때 문자열 연결에 사용할 클래스를 지정할 수 있습니까?
답변
정규 문자열 연결 (예 : "A"+ "B")을 사용할 수 있으며 소스를 컴파일하는 동안 javac의 "-target"옵션을 사용하여 .class 파일을 생성해야하는 플랫폼을 나타냅니다.
'-source' 또한'-target'을 허용하지 않을 것입니다. 이전의'rt.jar'을 사용하려면'-bootclasspath'를 사용해야합니다 - 실수로 "새로운"API를 사용할 수도 있기 때문에가 아니라 동일한 소스가 이전 Java 라이브러리에 없었던 오버로드를 사용할 수 있습니다. –
코드에서 StringBuffer를 사용할 수 없습니까? 그렇게하면 어느 환경에서도 실행되어야합니다. 특별한 마법은 필요하지 않습니다. StringBuilder는 비동기 버전의 StringBuffer입니다. StringBuilder는 Java 1.5에서만 사용할 수 있으므로 StringBuffer를 피하고 대신 StringBuffer를 사용하는 한 두 환경에서 실행해야합니다.
"A"+ "B"를 사용하지 않는 경우 –
@ 마디 OK 네가 무엇을 요구하는지 이해한다. – JasonStoltz
"+"문자열을 사용할 때마다 문자열 연결 클래스를 사용하므로 비효율적 일 수 있습니다. StringBuilder가 더 빠르며 사용할 새 StringBuilder 객체를 만든 후 .append ("text") 메서드를 사용할 수 있습니다. StringBuffer는 동기화를 수행하며 다중 스레드에만 권장되므로 Java 1.5+에서 단일 스레드를 사용하는 것이 실제로 바람직합니다.
StringBuilder를 사용할 수없는 특별한 이유가 있습니까?
1.4 컴파일러에게 1.5 컴파일러에게 말하기를 원하는 것처럼 보입니다.
javac -target 1.4
- 1. Web Start를 사용할 때 Java U 버전을 지정할 수 있습니까?
- 2. Doctrine :: generateYamlFromDb()를 사용할 때 사용할 접두사를 지정할 수 있습니까?
- 3. JRuby에서 Java 클래스를 생성하고 Java 클래스를 사용할 수 있습니까?
- 4. 클래스를 포인터로 사용할 수 있습니까?
- 5. STL의 문자열 클래스를 사용할 수 없음
- 6. delegate.BeginInvoke를 사용할 때 AsyncCallback이 실행되는 스레드를 지정할 수 있습니까?
- 7. jsp에서 클래스를 사용할 수 없습니다.
- 8. const char *에 strlen을 최적화하기 위해 컴파일러를 사용할 수 있습니까?
- 9. 이벤트 연결에 정적 IBAction 메소드를 사용할 수 있습니까?
- 10. 웹 서비스에 부분 클래스를 사용할 수 있습니까?
- 11. Apache Ant는 IOUtil 클래스를 사용할 수 있습니까?
- 12. 로거에 정적 클래스를 사용할 수 있습니까?
- 13. 프로젝트에서 Magento의 클래스를 사용할 수 있습니까?
- 14. NSDictionary에서 어떤 클래스를 키로 사용할 수 있습니까?
- 15. 추상 클래스를 참조 유형으로 사용할 수 있습니까?
- 16. c에서 serialport 클래스를 사용할 수 있습니까?
- 17. PHP에서 중첩 클래스를 사용할 수 있습니까?
- 18. 타사 라이브러리를 사용할 때 IOC를 사용할 수 있습니까?
- 19. 더 강력한 NGEN으로 Phoenix 컴파일러를 사용할 수 있습니까?
- 20. Google App Engine에서 JavaCompiler를 사용할 수 있습니까?
- 21. PHP에서 사용할 클래스를 결정하는 유형을 지정할 수있는 인터페이스 만들기
- 22. w3wp.exe의 인스턴스 이름을 프로세스에 연결에 표시되도록 지정할 수 있습니까?
- 23. Delphi에서 문자열 "IsEmpty"메서드를 사용할 수 있습니까
- 24. Java Swing App에서 JMS를 사용할 수 있습니까?
- 25. 이 상황에서 상속을 사용할 수 있습니까? (Java)
- 26. Java JNI를 사용할 때 코어 덤프를 디버그 할 수 있습니까?
- 27. JAX-WS를 사용할 때 어떻게 내 자신의 사용자 정의 클라이언트 클래스를 사용할 수 있습니까?
- 28. alcheMo를 사용할 수 있습니까?
- 29. Sinatra의 리디렉션에 사용할 HTTP 방법을 지정할 수 있습니까?
- 30. JVM (또는 IDE)이 사용할 네트워크 인터페이스를 지정할 수 있습니까
이 정보는 더 많은 정보를 요구합니다. Java 1.5는 이제 더 이상 사용되지 않습니다. – Riduidel
1.4 버전에서 Javac 1.5를 컴파일하도록 말할 수 없습니까? 아니면 혼란 스럽습니까? –
자바 1.5는 Sun에서 더 이상 사용하지 않을 수도 있지만 BlackBerry에서는 아니며 –