Нет гарантии, что это будет работать для других реализаций Java, а не hotSpot.

знать версию JDK из кода Java

 Mite Mitreski09 янв. 2011 г., 13:46
почему тег рекурсии?

Ответы на вопрос(3)

кроме показа человеку, хрупко и может сломаться, если он работает в другой реализации Java.

только надежный способ программно использовать рефлексию, чтобы тщательно спросить, доступно ли данное средство, и затем выбрать соответствующий код соответственно.

 Thorbjørn Ravn Andersen26 февр. 2011 г., 15:21
@ Джесс, я бы лучше сказал об этом. Какое правило вы бы настроили для анализа строки java.version?
 Thorbjørn Ravn Andersen27 февр. 2011 г., 21:07
@Jesse, ключевой вопрос здесь, если это только для JVM на основе Hotspot. Я не могу сразу сказать.
 Thorbjørn Ravn Andersen26 февр. 2011 г., 21:10
@ Джесси, я не знал об этой собственности. Однако я не вижу из быстрого просмотра в JLS, что он гарантированно присутствует и содержит действительное число. Возможно, вы знаете, где это так сказано?
 Jesse Barnum26 февр. 2011 г., 14:19
Можете ли вы привести пример, когда это не получится?
 Mark Jeronimus05 февр. 2015 г., 09:42
Не использоватьFloat.valueOf как @JesseBarnum. Это не удалось для меня, потому что1.8>=1.8 вернул false для меня из-за ошибок округления. использование.compareTo("1.8")>=0 вместо.
Решение Вопроса

что вы имеете в виду только версию Java, в этом случае попробуйте это:

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

и вы используете JSM hotSpot, вы можете попробовать этот код:

System.getProperty("sun.arch.data.model")

Нет гарантии, что это будет работать для других реализаций Java, а не hotSpot.

Ваш ответ на вопрос