2012-08-02 35 views
1

在Java字節封裝類是有喜歡C中的包裝類,像java一樣是byte,Integer,String,Double?

byte-Byte 
int-Integer 
float-Float etc 

我想使用的包裝類在C所以任何人都讓我 知道如何在C使用包裝類,以及如何用C寫這個?

JAVA:

Byte arr= 0x03; 
+1

我們在談論C,C++還是C#? – dualed 2012-08-02 12:31:05

+3

在C中根本沒有類...... – 2012-08-02 12:31:24

+0

也許你只是告訴我們你想要什麼功能? – 2012-08-02 12:32:18

回答

1

在C你寫char arr = 0x03;。 POD類型沒有「包裝」或「裝箱」。而你並不需要它們。

+0

此代碼byte [] arr1 = new byte [] {0x01};我寫了char arr1 [] = {0x01};所以對於Byte,c中沒有包裝類,所以我可以像這樣寫char arr = 0x03;這相當於Byte arr = 0x03;對??謝謝 – poppy 2012-08-02 12:37:31

+0

@poppy:是的,你可以。也就是說,如果你有一個字節。如果你在Java中寫入byte [] arr1 ...',那麼稱爲數組,而在C中它可以是'char * array'或'char array []'。 – 2012-08-02 12:40:04

+0

然後在C什麼是相當於Java Integer,Short,Float包裝類? – poppy 2012-08-03 10:17:37

2

在C中根本沒有任何類。你可以用char成員創建一個結構,但我不確定你爲什麼要這樣做。

在C++中,您可以創建一個包裝類。你只需要定義來自char的隱式轉換來模擬自動裝箱,以及你認爲包裝類應該具有的任何方法。

此外,C和C++中Java'byte'類型的等效值爲signed char

+2

'byte'是在Java中籤名的。 – 2012-08-02 12:54:42

+0

這只是因爲*所有*都是用Java簽名的。 – 2012-08-02 13:35:51

+0

@Bo,實際上,字符是無符號的。 – Antimony 2012-08-03 03:35:09

相關問題