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ù)組。
我測試了下,轉(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;
}
}最后測試通過。
補(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-09
Java Swing組件布局管理器之FlowLayout(流式布局)入門教程
這篇文章主要介紹了Java Swing組件布局管理器之FlowLayout(流式布局),結(jié)合實(shí)例形式分析了Swing組件布局管理器FlowLayout流式布局的常用方法及相關(guān)使用技巧,需要的朋友可以參考下2017-11-11
Java使用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-07
SpringBoot整合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-01
Netty網(wǎng)絡(luò)編程實(shí)戰(zhàn)之開發(fā)聊天室功能
這篇文章主要為大家詳細(xì)介紹了如何利用Netty實(shí)現(xiàn)聊天室功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Netty網(wǎng)絡(luò)編程有一定幫助,需要的可以參考一下2022-10-10

