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 -version の出力です。
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 オブジェクトを返すと書かれています。そのため、コードの問題が何であるかを明確に理解していません。