现在看来您的问题是不知道对象是什么,因此您无法随意转换或处理它,所以这里有一段代码使用 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()
////////////////
希望这可以帮助您将对象转换为正确的类型并以您喜欢的方式使用它