2015-11-02 155 views
0

此代碼看似編前:無法從字節[]轉換爲字節

private static int addTagLengthValue(int i, int length, byte[] temp, byte[] buffer, int index) { 
    buffer[index++] = i; 
    buffer[index++] = (byte) length; 
    if (length > 0) 
     buffer[index++] = temp; 
    return (index); 
} 

但現在我得到這些錯誤:

類型不匹配:不能從字節[]轉換爲字節 類型不匹配:不能從int轉換爲字節

我想我可以將我轉換爲字節,但我該如何處理temp參數?我只是維護代碼,並出現這些錯誤。這是否是由於使用不同版本的Java?

+1

這個'buffer [index ++] = temp;'對我沒有意義。你正試圖在byte []'的單個索引上寫一個完整的'byte []'? – Tom

+5

這是不可能的,這是在任何版本的Java編譯過的。如果您維護代碼,請使用您的源代碼版本管理軟件回顧並查看最初丟棄或添加的內容。 – RealSkeptic

+0

是的,你可以投我到字節**緩衝區[索引++] =(字節)我; **但沒有辦法你可以轉換字節[]到字節 –

回答

1

你有一個類型錯誤。變量temp應該是byte,而不是byte[]。 是的,你可以轉換到intbyte

int i = 10;

byte b = (byte) i;

但是你要確保你不鬆顯著位。