日期:2014-05-20  浏览次数:20806 次

出个java的脑筋急转弯题目
请写出一段java代码.要求:
1这个代码在jdk1.5下能编译通过
2代码只要是在jdk1.5的版本,无论外界是何种情况运行结果都一样
3代码只要是在jdk1.6的版本,无论外界是何种情况运行结果都一样
4在jdk1.5的状态下和在jdk1.6的状态下运行结果不一样

------解决方案--------------------
那就是1.5和1.6都有的,但是1.6有所更新的,也就是1.6的那几个新特性了呗
------解决方案--------------------
System.out.println(System.getProperty("java.specification.version"));
------解决方案--------------------
应该就是输出java的version吧
------解决方案--------------------
再来一个
Java code

    try {
      Class.forName("java.awt.SystemTray");
      System.out.println("1.6");
    } catch (ClassNotFoundException ex) {
      System.out.println("1.5");
    }

------解决方案--------------------
不符合
2代码只要是在jdk1.5的版本,无论外界是何种情况运行结果都一样
3代码只要是在jdk1.6的版本,无论外界是何种情况运行结果都一样
------解决方案--------------------
只要是添加了新方法的类 

AnyClass.class.getMethods() 在 5/6 结果肯定不一样。
------解决方案--------------------
java.lang.Package.getPackages()
------解决方案--------------------
探讨

java.lang.Package.getPackages()