最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java如何將Object數(shù)組轉(zhuǎn)換為指定類型數(shù)組

 更新時(shí)間:2022年08月19日 14:49:55   作者:zhangbeizhen18  
這篇文章主要介紹了java如何將Object數(shù)組轉(zhuǎn)換為指定類型數(shù)組,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

將Object數(shù)組轉(zhuǎn)換為指定類型數(shù)組

1.轉(zhuǎn)換函數(shù)

?? ?public static <T> T[] convertArray(Class<T> targetType, Object[] arrayObjects) {
? ? ? ? if (targetType == null) {
? ? ? ? ? ? return (T[]) arrayObjects;
? ? ? ? }
? ? ? ? if (arrayObjects == null) {
? ? ? ? ? ? return null;
? ? ? ? }
? ? ? ? T[] targetArray = (T[]) Array.newInstance(targetType, arrayObjects.length);
? ? ? ? try {
? ? ? ? ? ? System.arraycopy(arrayObjects, 0, targetArray, 0, arrayObjects.length);
? ? ? ? } catch (ArrayStoreException e) {
? ? ? ? ?? ?e.printStackTrace();
? ? ? ? }
? ? ? ? return targetArray;
? ? }

2.測試main函數(shù)

?? ?public static void main(String []args){
?
?? ??? ? GirlVo girlVo =new GirlVo();
?? ??? ? girlVo.setGirlId("08123");
?? ??? ? girlVo.setGirlName("張一");
?? ??? ? GirlVo girlVo2 =new GirlVo();
?? ??? ? girlVo2.setGirlId("08456");
?? ??? ? girlVo2.setGirlName("張二");
?? ??? ? Object[] arrayObjects2 = new Object[2];
?? ??? ? arrayObjects2[0] = girlVo;
?? ??? ? arrayObjects2[1] = girlVo2;
?? ??? ??
?? ??? ? GirlVo[] arrayObjects3 ;
?? ??? ? arrayObjects3 = convertArray(GirlVo.class,arrayObjects2);
?? ??? ? for(int i=0;i<arrayObjects3.length;i++){
?? ??? ??? ? System.out.println("輸出GirlVo: "+arrayObjects3[i].toString());
?? ??? ? }
?? ?}

3.實(shí)體類

public class GirlVo implements Serializable {
?? ??
?? ?private static final long serialVersionUID = -8545755852948661858L;
?? ?
?? ?/**ID號(hào)*/
?? ?String girlId;
?? ?/**姓名*/
?? ?String girlName;
?? ?/**年齡*/
?? ?long age;
?? ?/**身高*/
?? ?double height;
?? ?/**罩杯*/
?? ?String cupSize;
?? ?public String getGirlId() {
?? ??? ?return girlId;
?? ?}
?? ?public void setGirlId(String girlId) {
?? ??? ?this.girlId = girlId;
?? ?}
?? ?public String getGirlName() {
?? ??? ?return girlName;
?? ?}
?? ?public void setGirlName(String girlName) {
?? ??? ?this.girlName = girlName;
?? ?}
?? ?public long getAge() {
?? ??? ?return age;
?? ?}
?? ?public void setAge(long age) {
?? ??? ?this.age = age;
?? ?}
?? ?public double getHeight() {
?? ??? ?return height;
?? ?}
?? ?public void setHeight(double height) {
?? ??? ?this.height = height;
?? ?}
?? ?public String getCupSize() {
?? ??? ?return cupSize;
?? ?}
?? ?public void setCupSize(String cupSize) {
?? ??? ?this.cupSize = cupSize;
?? ?}
?
?? ?@Override
?? ?public String toString() {
?? ??? ?
?? ??? ?return "GirlVo [girlId=" + girlId
?? ??? ??? ??? ?+",girlName=" + girlName
?? ??? ??? ??? ?+",age=" + age
?? ??? ??? ??? ?+",height=" + height
?? ??? ??? ??? ?+",cupSize=" + cupSize
?? ??? ??? ??? ?+"]";
?? ?}
}

將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;
?? ? }??
}

最后測試通過。 

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。 

相關(guān)文章

  • Spring底層核心源碼原理解析

    Spring底層核心源碼原理解析

    這篇文章主要介紹了Spring底層核心源碼原理解析,當(dāng)在某個(gè)方法上加了@Transactional注解后,就表示該方法在調(diào)用時(shí)會(huì)開啟Spring事務(wù),而這個(gè)方法所在的類所對(duì)應(yīng)的Bean對(duì)象會(huì)是該類的代理對(duì)象,需要的朋友可以參考下
    2023-09-09
  • 淺析Java中對(duì)稱與非對(duì)稱加密算法原理與使用

    淺析Java中對(duì)稱與非對(duì)稱加密算法原理與使用

    密碼學(xué)是研究編制密碼和破譯密碼的技術(shù)科學(xué)。這篇文章主要為大家介紹了Java中對(duì)稱與非對(duì)稱加密算法的原理與使用,感興趣的小伙伴可以了解一下
    2023-03-03
  • Java Jedis NOAUTH Authentication required問題解決方法

    Java Jedis NOAUTH Authentication required問題解決方法

    這篇文章主要介紹了Java Jedis NOAUTH Authentication required問題解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Java的Lombok之@Builder使用總結(jié)

    Java的Lombok之@Builder使用總結(jié)

    這篇文章主要介紹了Java的Lombok之@Builder使用總結(jié),當(dāng)不使用@Builder注解到類上,創(chuàng)建T1的有參構(gòu)造函數(shù),入?yún)⒉粌H包括T1中所有的參數(shù),還包括T中所有的參數(shù),T2的屬性由T1在有參構(gòu)造函數(shù)中通過調(diào)用父類構(gòu)造器的方式賦初值,需要的朋友可以參考下
    2023-12-12
  • Ribbon和Feign的區(qū)別及說明

    Ribbon和Feign的區(qū)別及說明

    本文介紹了Spring Cloud Netflix中的兩個(gè)負(fù)載均衡組件:Ribbon和Feign,Ribbon是一個(gè)基于HTTP和TCP客戶端的負(fù)載均衡工具,使用起來較為繁瑣,而Feign是一個(gè)使用接口方式的HTTP客戶端,采用類似MyBatis的@Mapper注解方式,使得編寫客戶端變得非常容易
    2024-11-11
  • java實(shí)現(xiàn)ssh連接服務(wù)器的方法步驟

    java實(shí)現(xiàn)ssh連接服務(wù)器的方法步驟

    本文主要介紹了java實(shí)現(xiàn)ssh連接服務(wù)器的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(41)

    Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(41)

    下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-07-07
  • Java基于遞歸和循環(huán)兩種方式實(shí)現(xiàn)未知維度集合的笛卡爾積算法示例

    Java基于遞歸和循環(huán)兩種方式實(shí)現(xiàn)未知維度集合的笛卡爾積算法示例

    這篇文章主要介紹了Java基于遞歸和循環(huán)兩種方式實(shí)現(xiàn)未知維度集合的笛卡爾積算法,結(jié)合實(shí)例形式分析了Java使用遞歸與循環(huán)兩種方式實(shí)現(xiàn)未知維度集合的笛卡爾積相關(guān)概念、原理與操作技巧,需要的朋友可以參考下
    2017-12-12
  • Java實(shí)現(xiàn)UDP互發(fā)消息

    Java實(shí)現(xiàn)UDP互發(fā)消息

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)UDP互發(fā)消息,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • java中Calendar.add()方法的使用

    java中Calendar.add()方法的使用

    本文主要介紹了java中Calendar.add()方法的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04

最新評(píng)論

福州市| 安阳市| 邵阳市| 沁水县| 九龙县| 松溪县| 内乡县| 屏南县| 华安县| 上饶市| 广东省| 色达县| 肥西县| 德惠市| 青神县| 荥经县| 武鸣县| 天长市| 舞钢市| 乐业县| 双辽市| 威宁| 崇仁县| 漳州市| 扶余县| 贵德县| 建湖县| 法库县| 丽江市| 永清县| 金秀| 丰都县| 临沧市| 阳原县| 丘北县| 通榆县| 从化市| 浦县| 桐乡市| 阜宁县| 滨州市|