「java object to array」的推薦目錄:
- 關於java object to array 在 コバにゃんチャンネル Youtube 的最讚貼文
- 關於java object to array 在 大象中醫 Youtube 的精選貼文
- 關於java object to array 在 大象中醫 Youtube 的最佳貼文
- 關於java object to array 在 Re: [問題] Object array與instanceof如何判斷- 看板java - 批踢踢 ... 的評價
- 關於java object to array 在 Java: Casting Object to Array type - Stack Overflow 的評價
- 關於java object to array 在 Convert an Object to an Array in JavaScript 的評價
- 關於java object to array 在 Passing JS Arrays to Java object methods seem always to be ... 的評價
- 關於java object to array 在 CS 201: Objects, Arrays, and References in Java 的評價
- 關於java object to array 在 Why the overhead when allocating objects/arrays in Java? 的評價
java object to array 在 大象中醫 Youtube 的精選貼文
java object to array 在 大象中醫 Youtube 的最佳貼文
java object to array 在 Convert an Object to an Array in JavaScript 的推薦與評價
In this tutorial, you will learn how to convert an object to an array using Object's methods. ... <看更多>
java object to array 在 Re: [問題] Object array與instanceof如何判斷- 看板java - 批踢踢 ... 的推薦與評價
※ 引述《po19881206 (加菲)》之銘言:
: 最近遇到一個問題,我java在會接到一個Object array 裡面可能會有各種種類的物件
: 像是char array或是int array之類的
: 我想要在依照種類進行不同的處理 像是數字要做運算,字串要做印出之類的
: 要如何處理呢?
: 這個Object不是 Object[]宣告的變數
: 是一個Object物件裡裡面又是多個array的形式
: 我不太知道要怎麼直接用instanceof 來判斷
: 有辦法嗎?
: 請各位大大指導 感謝Q_Q
這是設計者的錯
你可以去ㄉ一ㄤ寫那段程式的人
問他懂不懂泛型之類的
寫程式如果寫的很痛苦
那十之八九是架構設計的錯.....
但是還是可以解的
你看一下這個
Object obj=new Object();
Class<?> c= obj.getClass();
這樣就可以取得那個物件型別
從c基本上可以鑑定出是哪種物件
然後別忘記map這好東西
你可以設計個map這樣用
//定義處理的行為
interface IAction<T>
{
void invoke(T t);
}
//字串的處理行為
class StringAction implement IAction<String>
{
void invoke(String t)
{
system.out.println(t); //印出字串
}
}
/* 其他型別的處理器略過 */
Map<Class<?>,IAction<?>> actions=new HashMap<>();
actions.put(String.class,new StringAction());
/* 其他型別的處理器設置略過 */
然後你收到一個不知道是什麼物件陣列的話
就可以這樣用
(PS 判斷是否為陣列,要用別的方法
我記得Class有個isArray之類的可以用
你找一下
判斷收到陣列之後,你可以用foreach後再去遞迴處理)
Object[] objs; //假設這你收到的物件陣列
for(Object obj:objs)
{
IAction<?> action=actions.get(obj.getClass());
//如果有對應的處理器就執行,沒有的話就不要管他
if(action!=null)action.invoke(obj);
}
完畢~
或是你可以用簡單易懂,但是未來可能會整死自己或是後人的方法
for(Object obj:objs)
{
if(obj instanceof String)
{
//字串的處理....
}
else if(obj instanceof int)
{
//是數字...
}
else if(obj instanceof int[])
{
//是數字陣列
}
/* ....下略... */
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.252.123.3
... <看更多>