今天写程序发现如下错误:
Syntax error,parameterized types are only available if source level is 5.0
package net.liuzd.tree.dao;
import java.util.List;
import net.liuzd.tree.BaseTreeNode;
public interface ITree {
void add(BaseTreeNode tree);
void del(BaseTreeNode tree);
void update(BaseTreeNode tree);
BaseTreeNode get(BaseTreeNode tree);
boolean isExpand(BaseTreeNode tree);
List<BaseTreeNode> getChildTree(BaseTreeNode tree);
}
百思不得其解,查看了一下ECLIPSE,用的是jdk1.6的了,这个没有问题呀。这个令我十分的郁闷。无奈之下,用javac去运行(电脑装了jdk1.6),都没有问题,好使呀!
后来查看BaseTreeNode
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
这里面的reflectionToString必须是在JDK1.5后用的。
后来查看相关资料,问题终于得以解决。
解决方案一: 选择项目--->preferences-->java compliler(在项目属性/Java Compiler 里改为5.0或高于5.0)