Java將Object轉換為數(shù)組的代碼
今天在使用一個別人寫的工具類,這個工具類,主要是判空操作,包括集合、數(shù)組、Map等對象是否為空的操作。
下面展示了一部分代碼:
public static boolean isEmpty(Object object) { if(object == null){ return true; } //數(shù)組判空 if (object.getClass().isArray()) { Object[] obj = (Object[])object; return obj.length == 0; } }
在外部,我傳進來一個數(shù)組后,可以看到直接強轉為數(shù)組。
我測試了下,轉換異常。
后來我自己封裝了下,正常的操作應該是這樣的:
public static boolean isEmpty(Object object) { if(object == null){ return true; } //數(shù)組判空 if (object.getClass().isArray()) { int len = Array.getLength(object); Object[] obj = new Object[len]; for(int i = 0; i < len; i++) { obj[i] = Array.get(obj, i); } return obj.length == 0; } }
最后測試通過。
補充:JAVA將Object對象轉byte數(shù)組
/** ? ? ?* 將Object對象轉byte數(shù)組 ? ? ?* @param obj byte數(shù)組的object對象 ? ? ?* @return ? ? ?*/ ? ? public static byte[] toByteArray(Object obj) { ? ? ? ? byte[] bytes = null; ? ? ? ? ByteArrayOutputStream bos = new ByteArrayOutputStream(); ? ? ? ? try { ? ? ? ? ? ? ObjectOutputStream oos = new ObjectOutputStream(bos); ? ? ? ? ? ? oos.writeObject(obj); ? ? ? ? ? ? oos.flush(); ? ? ? ? ? ? bytes = bos.toByteArray (); ? ? ? ? ? ? oos.close(); ? ? ? ? ? ? bos.close(); ? ? ? ? } catch (IOException ex) { ? ? ? ? ? ? ex.printStackTrace(); ? ? ? ? } ? ? ? ? return bytes; ? ? }
到此這篇關于Java將Object轉換為數(shù)組的情況的文章就介紹到這了,更多相關Java Object轉換數(shù)組內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java Swing組件布局管理器之FlowLayout(流式布局)入門教程
這篇文章主要介紹了Java Swing組件布局管理器之FlowLayout(流式布局),結合實例形式分析了Swing組件布局管理器FlowLayout流式布局的常用方法及相關使用技巧,需要的朋友可以參考下2017-11-11Java使用NIO優(yōu)化IO實現(xiàn)文件上傳下載功能
IO 是基于流來讀取的,而NIO則是基于塊讀取,面向流 的 I/O 系統(tǒng)一次一個字節(jié)地處理數(shù)據(jù),這篇文章主要介紹了Java使用NIO優(yōu)化IO實現(xiàn)文件上傳下載功能,需要的朋友可以參考下2022-07-07Netty網(wǎng)絡編程實戰(zhàn)之開發(fā)聊天室功能
這篇文章主要為大家詳細介紹了如何利用Netty實現(xiàn)聊天室功能,文中的示例代碼講解詳細,對我們學習Netty網(wǎng)絡編程有一定幫助,需要的可以參考一下2022-10-10