java如何条件编译不同的类

liu_F_87 2019-06-05 08:17:40
我需要调用一个第三方的sdk, 但是这个sdk在windows和linux环境下的 java interface文件内容不同, 我的工程是跨平台的,
怎么才能让程序在编译时自动选择对应的类;

网上看到的java条件编译是用if (false) 通过编译器优化,但是这种方式只能用在函数代码块内,
我是要对两个interface接口类进行编译控制

请高手给指点下

...全文
183 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
liu_F_87 2019-06-09
  • 打赏
  • 举报
回复
引用 4 楼 huhk 的回复:
将windows ,linux 的 第三方的sdk jar 或者class 放在不同目录,再根据你的操作系统设置classpath。


是这样做的, 可以实现
if(isLinux()) {
// 类的全路径方法sdk
} else {
// 类的全路径方法sdk
}
huhk 2019-06-06
  • 打赏
  • 举报
回复
将windows ,linux 的 第三方的sdk jar 或者class 放在不同目录,再根据你的操作系统设置classpath。
十八道胡同 2019-06-05
  • 打赏
  • 举报
回复
我觉得可以参考下这个 https://www.cnblogs.com/XL-Liang/archive/2011/12/23/2299118.html 曲线救国
十八道胡同 2019-06-05
  • 打赏
  • 举报
回复
引用 2 楼 liu_F_87 的回复:
[quote=引用 1 楼 LCL_data 的回复:] 我觉得可以参考下这个 https://www.cnblogs.com/XL-Liang/archive/2011/12/23/2299118.html 曲线救国
这个看了, 我这边要控制的是整个类,要么编译类A, 要么编译类B, 不是某个函数里的代码块; 怎么才能把 class{....} 放到if语句里面。。。。 语法不支持吧 [/quote] 好像不支持
liu_F_87 2019-06-05
  • 打赏
  • 举报
回复
引用 1 楼 LCL_data 的回复:
我觉得可以参考下这个 https://www.cnblogs.com/XL-Liang/archive/2011/12/23/2299118.html

曲线救国


这个看了, 我这边要控制的是整个类,要么编译类A, 要么编译类B, 不是某个函数里的代码块;
怎么才能把 class{....} 放到if语句里面。。。。 语法不支持吧

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧