我希望在Java 7 SDK中使用一些NIO2功能,如果可用的话(具体来说是文件系统监视器),但我不想为Java 7编译我的类并排除Java 6运行时。主要是因为我想保持与Mac OS X的兼容性,也因为我不想强制用户升级。
这是否可能?最好的方法是什么?有任何链接或示例吗?
以下是我可以想象的一些方法:使用不同的编译器编译类文件,并根据Java版本动态加载它?还是使用反射?或者可能有一个编译器设置,用于生成Java 6兼容的类?
我正在寻找一个解决方案,不会变成丑陋的混乱 : ),所以理想情况下,我可以编写两个接口实现,一个使用新功能,一个不使用,然后动态选择一个而不必在所有地方进行反射调用。
这是否可能?最好的方法是什么?有任何链接或示例吗?
以下是我可以想象的一些方法:使用不同的编译器编译类文件,并根据Java版本动态加载它?还是使用反射?或者可能有一个编译器设置,用于生成Java 6兼容的类?
我正在寻找一个解决方案,不会变成丑陋的混乱 : ),所以理想情况下,我可以编写两个接口实现,一个使用新功能,一个不使用,然后动态选择一个而不必在所有地方进行反射调用。