亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

1.轉換函數(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.實體類

public class GirlVo implements Serializable {
?? ??
?? ?private static final long serialVersionUID = -8545755852948661858L;
?? ?
?? ?/**ID號*/
?? ?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轉換為數(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;
?? ? }??
}

最后測試通過。 

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

相關文章

  • Java中獲取年份月份的幾種常見方法

    Java中獲取年份月份的幾種常見方法

    這篇文章主要給大家介紹了關于Java中獲取年份月份的幾種常見方法,在開發(fā)應用程序時,經(jīng)常需要獲取當前的年、月、日,并以特定格式進行展示或處理,需要的朋友可以參考下
    2023-09-09
  • 基于springMvc+hibernate的web application的構建

    基于springMvc+hibernate的web application的構建

    下面小編就為大家?guī)硪黄趕pringMvc+hibernate的web application的構建。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • 詳解Java?ReentrantLock可重入,可打斷,鎖超時的實現(xiàn)原理

    詳解Java?ReentrantLock可重入,可打斷,鎖超時的實現(xiàn)原理

    前面講解了ReentrantLock加鎖和解鎖的原理實現(xiàn),但是沒有闡述它的可重入、可打斷以及超時獲取鎖失敗的原理,本文就重點講解這三種情況,需要的可以了解一下
    2022-10-10
  • java如何在項目中實現(xiàn)excel導入導出功能

    java如何在項目中實現(xiàn)excel導入導出功能

    這篇文章主要介紹了java如何在項目中實現(xiàn)excel導入導出功能的相關資料,EasyExcel是一個基于Apache?POI開發(fā)的開源Java庫,用于簡化Excel文件的讀寫操作,文中將用法介紹的非常詳細,需要的朋友可以參考下
    2024-10-10
  • 詳解Spring整合Quartz實現(xiàn)動態(tài)定時任務

    詳解Spring整合Quartz實現(xiàn)動態(tài)定時任務

    本篇文章主要介紹了詳解Spring整合Quartz實現(xiàn)動態(tài)定時任務,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • Java日期時間字符串和毫秒相互轉換的方法

    Java日期時間字符串和毫秒相互轉換的方法

    這篇文章主要為大家詳細介紹了Java日期時間字符串和毫秒相互轉換的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • 徹底理解Java 中的ThreadLocal

    徹底理解Java 中的ThreadLocal

    這篇文章主要介紹了徹底理解Java 中的ThreadLocal的相關資料,需要的朋友可以參考下
    2017-07-07
  • JAVA實現(xiàn)深拷貝的幾種方式代碼

    JAVA實現(xiàn)深拷貝的幾種方式代碼

    這篇文章主要給大家介紹了關于JAVA實現(xiàn)深拷貝的幾種方式,在Java中深拷貝和淺拷貝是用來復制對象的兩種不同方式,深拷貝會對所有數(shù)據(jù)類型進行拷貝,包括對象所包含的內(nèi)部對象,需要的朋友可以參考下
    2023-09-09
  • 重寫hashCode()和equals()方法詳細介紹

    重寫hashCode()和equals()方法詳細介紹

    這篇文章主要介紹了重寫hashCode()和equals()方法詳細介紹,涉及重寫equals()方法,重寫hashCode()方法,重寫equals()而不重寫hashCode()的風險等相關內(nèi)容的介紹,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • 去掉 IDEA 中 mybatis配置文件的局部背景顏色(圖解)

    去掉 IDEA 中 mybatis配置文件的局部背景顏色(圖解)

    這篇文章通過圖文并茂的形式給大家介紹了去掉IntelliJ IDEA 中 mybatis配置文件的局部背景顏色及mybatis 對應的 xml 文件警告的方法圖解,需要的朋友可以參考下
    2018-09-09

最新評論