2011-01-09 22 views

Odpowiedz

25

Przypuszczam, to znaczy tylko w wersji Java, w którym to przypadku spróbuj tego:

String version = System.getProperty("java.version"); 
4

powołując się na Ciąg java.version dla czegokolwiek innego niż pokazywanie człowiekowi jest delikatny i przerwie się, jeśli uruchomisz inną implementację Java.

W sposób niezawodny programowo używa się refleksji, aby dokładnie zapytać, czy dany obiekt jest dostępny, a następnie odpowiednio wybrać odpowiedni kod.

+1

Czy możesz podać przykład tego, kiedy to się nie powiedzie? –

+0

@Jesse, wolałbym odłożyć to na odwrót. Jaką regułę skonfigurowałbyś do analizy łańcucha java.version? –

+0

Cóż, chciałbym użyć java.specification.version zamiast java.version, a kod wyglądałby następująco: If (Float.valueOf (System.getProperty ("java.specification.version")) ≥ = 1.6) {doJava6Thing} ; else {doJava5Thing} –