現在看來你的問題並不知道對象是什麼,所以你不能根據你的喜好進行投射或處理,所以這裏有一段代碼使用java反射「java.lang.reflect包」來識別任何奇怪的對象你可以看到,所以可以實現它包含了哪些方法和它的類型
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()
////////////////
希望這可以幫助你將對象投射到正確的類型並以你喜歡的方式使用它
'object'是一個數組,因此你需要使用索引來獲得值如:'Loger.d(「TAG」,「loop稱爲「+ object [0]);' –
改爲使用'Arrays.toString(object)'。並且,當你還有功能性的眼睛時,請改變你的配色方案。 –
我忘了提及的東西..對象[]也是一個對象 –