类型不接受泛型中的参数



我有一个接受通用参数的接口:

package com.lbv.itf;
public interface Segment<T extends Object> {...}

这是几年前写的,在1.6中编译并构建到一个jar中,比如segment.jar

现在,我有了一个使用segment.jar的新项目,在这个新项目中,我有一个实现这个接口的类:

package com.lbv.impl; 
import com.lbv.itf.Segment;
public class TreeSegment implements Segment<Tree> {...}

在1.7中编译这个更新的类会出现以下错误:

类型com.lbv.itf.Segment不接受参数

Segment接口接受了参数,但不知何故,在编译较新的类时,这是不可见的。这是已知的JDK兼容性问题,还是我遗漏了什么?任何帮助都会有很大帮助。

UPDATE:只有当我编译更新的代码1.6:(.泛型类型参数从1.6到1.7是否存在兼容性问题?

我正在使用

Java 1.6更新45 64位

Java 1.7更新60 64位

之所以发生这种情况,是因为遗留代码是使用`选项编译的

'target=jsr14'

`去掉了类型参数,这样生成的代码将与旧的java版本保持兼容。不幸的是,1.7已经停止支持这个标志,导致了我遇到的问题。

最新更新