Eclipse编译某个Java类的时候,程序体没有错误,但是在package处有错误提示
TheclassfileHashMap<K,V>.FrontCachecontainsasignature'(Ljava/util/HashMap<TK;TV;>.Fro...
The class file HashMap<K,V>.FrontCache contains a signature '(Ljava/util/HashMap<TK;TV;>.FrontCache;)V' ill-formed at position 29
出错的我估计是下面的代码段:
private static final Map ROLE_LEVEL_MAP = new LinkedHashMap() {
private static final long serialVersionUID = -8978289341498775797L;
{
put(new Integer(LEVEL_ARRAY[0]), " 中心 ");
}
};
这段代码以前是JDK 1.5编译的吧,现在我的JDK是1.7的,应该怎么修改 ?
public static final int[] LEVEL_ARRAY = {1, 2, 3, 4, 5};
private static final Map ROLE_LEVEL_MAP = new LinkedHashMap() {
private static final long serialVersionUID = -8978289341498775797L;
{
put(new Integer(LEVEL_ARRAY[0]), " 中心 ");
}
};
// 上面的代码段删除了就没有问题了 展开
出错的我估计是下面的代码段:
private static final Map ROLE_LEVEL_MAP = new LinkedHashMap() {
private static final long serialVersionUID = -8978289341498775797L;
{
put(new Integer(LEVEL_ARRAY[0]), " 中心 ");
}
};
这段代码以前是JDK 1.5编译的吧,现在我的JDK是1.7的,应该怎么修改 ?
public static final int[] LEVEL_ARRAY = {1, 2, 3, 4, 5};
private static final Map ROLE_LEVEL_MAP = new LinkedHashMap() {
private static final long serialVersionUID = -8978289341498775797L;
{
put(new Integer(LEVEL_ARRAY[0]), " 中心 ");
}
};
// 上面的代码段删除了就没有问题了 展开
3个回答
展开全部
这个问题产生的原因是在不同的jdk版本下编译,可以用如下办法解决:
在window-preferenecs-java-installed jres下添加jdk 1.7(如果有就不必了);
右键 工程-properties-java build path-libraries-add library-jre system library点next,选alternate JRE,选jdk 1.7就好了
更多追问追答
追问
我现在就是JDK 1.7编译的啊 !
追答
是因为有用jdk 1.5编译的部分,你用我的方法试一下再说。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-06
展开全部
HashMap<TK;TV;>这有形式问题 中间是逗号吧 怎么是分号 ,泛型写错了。应该是HashMap<TK,TV>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询