На какие свойства системы я могу положиться (если таковые имеются)?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 На какие свойства системы я могу положиться (если таковые имеются)?

Сообщение Anonymous »

Есть ли какие-либо системные свойства, на существование которых я могу смело положиться?
В Windows 10 и более поздних версиях существует проблема с невидимыми границами вокруг окон. Я рассматриваю возможность внесения корректировок на основе этого условия, как только развернул диалоговое окно.
Я мог бы протестировать его следующим образом:

Код: Выделить всё

// imagine it sits in some OsUtil

public static boolean isWindowsTenOrGreater() {
return isWindows() && isMajorEqualToOrGreaterThan(10);
}

private static boolean isWindows() {
return System.getProperty("os.name").toLowerCase().startsWith("win");
}

private static boolean isMajorEqualToOrGreaterThan(int majorVersion) {
String majorVersion = System.getProperty("os.version").split("\\.")[0];
boolean isMajorVersionNumeric = Pattern.matches("\\d+", majorVersion);
return isMajorVersionNumeric && Integer.parseInt(majorVersion) >= 10
}
Однако я предполагаю, что получу NPE, если мой код будет запущен на платформе, которая не имеет таких свойств, а именно «os.name» и «os.version». Из javadoc java.lang.System#getProperty(java.lang.String):

Возвраты:
строковое значение системного свойства или null, если нет свойства с этим ключом.

Существует ли какой-то универсальный стандарт, которого должны придерживаться все операционные системы, который гарантирует такие свойства всегда присутствуют (по крайней мере, если они запускают байт-код)? В более широком смысле, какие свойства системы гарантированно существуют на той или иной платформе?
Некоторые из наших пользователей используют контрафактные дистрибутивы Linux, имейте в виду
Имейте в виду, что этот вопрос шире, чем «как мне заставить эту штуку работать» (я полагаю, с помощью простых проверок на ноль). Это именно то, что подогрело мое любопытство по этому поводу

Подробнее здесь: https://stackoverflow.com/questions/790 ... -on-if-any
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»