私はprocessing.orgとJavaに非常に慣れていません。オブジェクトをHashMapに格納しようとしています。次に、HashMapの値を反復処理して、格納されているオブジェクトのメソッドを呼び出します。これを行うには、イテレータをクラスの型にダウンキャストする必要があると思いますが、これによりClassCastExceptionがスローされます(「java.util.HashMap$ValueIteratorをsketch_oct27a$MyClassにキャストできません」)。次の簡略化されたコードは、この動作を示しています。
import java.util.*;
void setup() {
HashMap m = new HashMap();
m.put("First", new MyClass());
m.put("Second", new MyClass());
m.put("Third", new MyClass());
Iterator iter = m.values().iterator();
while (iter.hasNext()) {
((MyClass)iter).SaySomething(); // Throws ClassCastException
iter.next();
}
}
class MyClass {
void SaySomething() {
println("Something");
}
}
イテレータを介してSaySomething()メソッドを呼び出すにはどうすればよいですか?