我知道你可以做到
SystemUtils.IS_OS_WINDOWS_VISTA || SystemUtils.IS_OS_WINDOWS_7
但有没有办法以编程方式为所有未来版本的窗口执行此操作,因此该方法类似于:
isWindowsVistaOrHigher()
答案 0 :(得分:1)
我认为你根本不需要Apache Commons。系统属性os.version
包含内部操作系统版本(os.name
是人类可读的名称,将包含Windows
,后跟更具体的信息,例如Vista
)。我认为在Windows 7上,如果您致电System.getProperty("os.version")
,那么当Vista为6.1
时,您将获得6.0
。假设它们没有更改约定,如果存在点(使用String.substring()
和String.indexOf('.')
),您可以尝试将该部分提取到第一个点,使用{{将子字符串解析为整数1}}并比较结果值是否至少为Integer.parseInt()
。
答案 1 :(得分:1)
我最终做的是:
public boolean isVistaOrHigher()
{
return !SystemUtils.IS_OS_WINDOWS_XP && !SystemUtils.IS_OS_WINDOWS_98 && ... ;
}