Java將Object轉(zhuǎn)換為數(shù)組的代碼
今天在使用一個(gè)別人寫的工具類,這個(gè)工具類,主要是判空操作,包括集合、數(shù)組、Map等對(duì)象是否為空的操作。
下面展示了一部分代碼:
public static boolean isEmpty(Object object) { if(object == null){ return true; } //數(shù)組判空 if (object.getClass().isArray()) { Object[] obj = (Object[])object; return obj.length == 0; } }
在外部,我傳進(jìn)來一個(gè)數(shù)組后,可以看到直接強(qiáng)轉(zhuǎn)為數(shù)組。
我測(cè)試了下,轉(zhuǎn)換異常。
后來我自己封裝了下,正常的操作應(yīng)該是這樣的:
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; } }
最后測(cè)試通過。
補(bǔ)充:JAVA將Object對(duì)象轉(zhuǎn)byte數(shù)組
/** ? ? ?* 將Object對(duì)象轉(zhuǎn)byte數(shù)組 ? ? ?* @param obj byte數(shù)組的object對(duì)象 ? ? ?* @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; ? ? }
到此這篇關(guān)于Java將Object轉(zhuǎn)換為數(shù)組的情況的文章就介紹到這了,更多相關(guān)Java Object轉(zhuǎn)換數(shù)組內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaWeb Spring依賴注入深入學(xué)習(xí)
這篇文章主要為大家詳細(xì)介紹了JavaWeb Spring依賴注入,深入學(xué)習(xí)Spring依賴注入,感興趣的小伙伴們可以參考一下2016-09-09Java Swing組件布局管理器之FlowLayout(流式布局)入門教程
這篇文章主要介紹了Java Swing組件布局管理器之FlowLayout(流式布局),結(jié)合實(shí)例形式分析了Swing組件布局管理器FlowLayout流式布局的常用方法及相關(guān)使用技巧,需要的朋友可以參考下2017-11-11Java使用NIO優(yōu)化IO實(shí)現(xiàn)文件上傳下載功能
IO 是基于流來讀取的,而NIO則是基于塊讀取,面向流 的 I/O 系統(tǒng)一次一個(gè)字節(jié)地處理數(shù)據(jù),這篇文章主要介紹了Java使用NIO優(yōu)化IO實(shí)現(xiàn)文件上傳下載功能,需要的朋友可以參考下2022-07-07SpringBoot整合ElasticSearch實(shí)踐
本篇文章主要介紹了SpringBoot整合ElasticSearch實(shí)踐,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05帶你了解Java數(shù)據(jù)結(jié)構(gòu)和算法之隊(duì)列
這篇文章主要為大家介紹了Java數(shù)據(jù)結(jié)構(gòu)和算法之隊(duì)列,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-01-01Netty網(wǎng)絡(luò)編程實(shí)戰(zhàn)之開發(fā)聊天室功能
這篇文章主要為大家詳細(xì)介紹了如何利用Netty實(shí)現(xiàn)聊天室功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Netty網(wǎng)絡(luò)編程有一定幫助,需要的可以參考一下2022-10-10