我试图使用TreeMap类的ceilingKey(),ceilingEntry(),firstKey()了firstEntry和(),但得到的错误:
java.lang.NoSuchMethodError: method java.util.TreeMap.firstEntry with signature()Ljava.util.Map$Entry; was not found.
此错误是由下面的代码引起的:
if (tmpmap.size() == 1 && tmpmap.firstKey() == req_sbyte && tmpmap.firstEntry().getValue() == req_size) {
send("F" + req_nr + "," + Integer.toString(req_filenr) + "," + Long.toString(req_sbyte) + "," + Integer.toString(req_size), "localhost", CLIENTPORT);
}
这是Java的版本的输出:
java version "1.5.0" gij (GNU libgcj) version 4.1.2 20070925 (Red Hat 4.1.2-33) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
任何解释为什么会出现这种情况,如何解决?我检查了libgcj的文档,它说有这样的方法firstEntry()并且它返回具有getValue()方法的Entry对象。所以我不清楚我的代码有什么问题。
谢谢。我会尝试更新GIJ。否则,我将安装Sun Java ... – Azimuth 2009-11-17 16:27:05
是的,它是在Java 6中添加的'NavigableMap'接口的一部分。 – erickson 2009-11-17 16:28:21