あなたの問題はオブジェクトが何であるかを知らないようですので、好きなようにキャストしたり処理したりすることはできません.見ることができるので、含まれているメソッドとそのタイプを理解できます
public void identifyObject(Object object){
Class objectClass = object.getClass();
Method[] methods = objectClass.getMethods();
System.out.println("Class Name : "+objectClass.getName());
System.out.println("Class Type : "+objectClass.getSimpleName());
System.out.println("Available Methods : ");
for(Method method : methods){
System.out.println(method.toString());
}
}
今この方法を使用しています:
public static void main(String[] args) {
// the class that holds identifyObject() method
Main app = new Main();
System.out.println("identify Array :");
int[] ints = new int[5];
app.identifyObject(ints);
System.out.println("-----------");
System.out.println("identify object");
Object object = new IOIO("un known object");
app.identifyObject(object);
System.out.println("////////////////");
}
結果は次のとおりです。
identify Array :
Class Name : [I
Class Type : int[]
Available Methods :
public final native void java.lang.Object.wait(long) throws java.lang.InterruptedException
public final void java.lang.Object.wait() throws java.lang.InterruptedException
public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException
public boolean java.lang.Object.equals(java.lang.Object)
public java.lang.String java.lang.Object.toString()
public native int java.lang.Object.hashCode()
public final native java.lang.Class java.lang.Object.getClass()
public final native void java.lang.Object.notify()
public final native void java.lang.Object.notifyAll()
-----------
identify object
Class Name : com.stackoverflow.ioio.IOIO
Class Type : IOIO
Available Methods :
public char[] com.stackoverflow.ioio.IOIO.getChars()
public void com.stackoverflow.ioio.IOIO.setWord(java.lang.String)
public java.lang.String com.stackoverflow.ioio.IOIO.getWord()
public void com.stackoverflow.ioio.IOIO.setChars(char[])
public final native void java.lang.Object.wait(long) throws java.lang.InterruptedException
public final void java.lang.Object.wait() throws java.lang.InterruptedException
public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException
public boolean java.lang.Object.equals(java.lang.Object)
public java.lang.String java.lang.Object.toString()
public native int java.lang.Object.hashCode()
public final native java.lang.Class java.lang.Object.getClass()
public final native void java.lang.Object.notify()
public final native void java.lang.Object.notifyAll()
////////////////
これがオブジェクトを正しいタイプにキャストし、好きなように使用するのに役立つことを願っています