原来我就稍微看看文章,没仔细研究,因为具体我也不懂。。。 http://www.pcworld.com/article/2690724/why-windows-10-isnt-name 里面有个java code example: /** Performs computation and returns the result, or throws some exception. */ public HashSet call() throws Exception { final String arch = System.getProperty("os.arch"); String name = System.getProperty("os.name").toLowerCase(); String version = System.getProperty("os.version"); if (name.equals("solaris") || name.equals("SunOS")) { name = "solaris"; } else if (name.startsWith("windows")) { name = "windows"; if (name.startsWith("windows 9")) { if (version.startsWith("4.0")) { version = "95"; } else if (version.startsWith("4.9")) { version = "me"; } else { assert version.startsWith("4.1"); version = "98"; } } else { if (version.startsWith("4.0")) { version = "nt4"; } else if (version.startsWith("5.0")) { version = "2000"; } else if (version.startsWith("5.1")) { version = "xp"; } else if (version.startsWith("5.2")) { version = "2003"; } } } else if (name.startsWith("linux")) { Release release = new Release(); name = release.distributorId(); version = release.release(); } else if (name.startsWith("mac")) { name = "mac"; } else { // Take the System.properties values verbatim. }