2016-06-18 40 views
0

我可以將一個字符類型的多維數組與另一個整型數組交換嗎? 在PHP開發者面試中,我遇到了這個問題。由於在PHP中沒有數據類型只是$變量,所以我認爲這是可能的。我想知道在Java中是否有可能。Java - 交換兩種不同類型的多維數組

int A[][]=new int[4][4]; 
char B[][]=new char[4][4]; 
A=|1234 
    |5678 
    |9 10 11 12 
    |13 14 15 16 
B=|ABCD 
    |EFGH 
    |IJKL 
    |MNOP 

result 

A=|ABCD 
    |EFGH 
    |IJKL 
    |MNOP 

B=|1234 
    |5678 
    |9 10 11 12 
    |13 14 15 16 

回答

0

不,這不是字面上可能的。整數數組是一個整數數組,可以根據定義不包含字符。你將永遠無法將「A」存儲爲int,因爲它不是。

另一方面,可以將整數轉換爲字符,反之亦然。在將一個char轉換爲int時,您只需在內部獲取表示char的數字,然後在將一個char轉換爲char時,您將獲得由int表示的char。

把你從其中一個數組中讀取的任何元素都轉換回你想要的類型,這可能會成爲你試圖做的事情。我不明白你爲什麼想要它。

0

從技術上講,你可以使用對象數組並使用包裝類,如Integer []和Character []。 如果你想使用真實的原語,沒有辦法做到這一點,因爲它們是通過值複製的,而不是引用,並且這些值在內存中可以具有不同的大小。例如,一個整數將是一個短整型的兩倍,所以你不能把它放到爲較小數據類型保留的內存中。正如S.Joshi的回答中提到的那樣,它適用於整數和字符,但是你必須來回擺動。