java 不可转换的类型_javac错误:具有泛型的不可转换类型?

还有其他一些SO问题在讨论可以使用Eclipse的编译器而不是javac进行泛型编译的问题(即Java:泛型在Eclipse和javac中处理不同,而泛型可以在Eclipse中编译和运行,但不能在javac中编译)-但这看起来就像一个稍微不同的人。

我有一enum堂课:

public class LogEvent {

public enum Type {

// ... values here ...

}

...

}

我还有一个带有方法的类,该方法接受来自Enum以下类型的任意对象:

@Override public > void postEvent(

Context context, E code, Object additionalData)

{

if (code instanceof LogEvent.Type)

{

LogEvent.Type scode = (LogEvent.Type)code;

...

这在Eclipse中可以正常工作,但是当我使用进行了干净的构建时ant,我遇到了一对错误,一个错误instanceof在线,另一个错误在强制转换线:

443: inconvertible types

[javac] found : E

[javac] required: mypackage.LogEvent.Type

[javac] if (code instanceof LogEvent.Type)

[javac] ^

445: inconvertible types

[javac] found : E

[javac] required: com.dekaresearch.tools.espdf.LogEvent.Type

[javac] LogEvent.Type scode = (LogEvent.Type)code;

[javac] ^

为什么会发生这种情况,如何解决这个问题以便正确编译呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值