我需要返回整數和字節數組,我發現我可以使用Object []返回它們,但我不知道如何獲取整數和字節數組。在Java中的返回對象[]
它返回的對象與整數,字節數組:
public static Object[] readVarInt(DataInputStream in) throws IOException {
int i = 0;
int j = 0;
byte[] byteArr = null;
byte b = 0;
while (true) {
int k = in.readByte();
i |= (k & 0x7F) << j++ * 7;
if (j > 5) {
throw new RuntimeException("VarInt too big");
}
if ((k & 0x80) != 128) {
break;
}
byteArr = Arrays.copyOf(byteArr, b);
byteArr[b] = (byte) k;
b+=1;
}
return new Object[] {i, byteArr}; // <<---
}
我不知道如何從Object []我的整數,字節數組得到:
Object Object;
Object = Protocol.readVarInt(serv_input);
int intLength = Object[0]; // <<---
byte[] byteArray = Object[1]; // <<---
這不會工作,因爲它認爲它的陣列,但它的對象...
(對不起,我的新知識,Java ...)
您的(非工作)示例代碼會調用'readVarInt()'兩次,這會導致從'serv_input'讀取兩次,大概是不同的值。這是打算? –
這只是一個例子。我會解決這個問題。 –
@Shashwat是的,沒錯。 –