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]), " 中心 ");
}
};
// 上面的代码段删除了就没有问题了
展开
 我来答
严肃的甲道士
2013-11-06 · 传播技术传播爱,笔芯❤️
严肃的甲道士
采纳数:337 获赞数:619

向TA提问 私信TA
展开全部

双击打开markers窗口就能看见错误的地方具体到行

追问

追答
Role.java 中的HashMap泛型格式不规范吧你看看
天虹2010
推荐于2017-09-25 · TA获得超过164个赞
知道小有建树答主
回答量:284
采纳率:100%
帮助的人:134万
展开全部

这个问题产生的原因是在不同的jdk版本下编译,可以用如下办法解决:

  1. 在window-preferenecs-java-installed jres下添加jdk 1.7(如果有就不必了);

  2. 右键 工程-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>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式