Entweder bin ich verrückt oder der Compiler/die VM baut Mist.
Ich gehe jetzt erstmal vom ersteren aus und frage euch:
Warum (in Gottes Namen) kriege ich hier zwei unterschiedliche Ergebnisse?
Version 1:
Jetzt wollte ich die fromHexToByte Methode eliminieren und heraus kam das:
Version 2:
Mysteriöser Weise ist der Rückgabewert der zweiten Version vollkommen anders.
Ich bin für jede Hilfe und jede Idee dankbar.
spyboot
Ich gehe jetzt erstmal vom ersteren aus und frage euch:
Warum (in Gottes Namen) kriege ich hier zwei unterschiedliche Ergebnisse?
Version 1:
Java:
public static byte fromHexToByte(byte hex1, byte hex2){
return (byte) ((bytes[hex1-'0'] << 4) | bytes[hex2-'0']);
}
public static byte[] fromHexByteArrayToBytes(byte[] array, int max){
byte[] bytes=new byte[max];
for(int i=0;i<max;i++){
int num = i * 2;
bytes[i] = fromHexToByte(array[num], array[num+1]);
}
return bytes;
}
Jetzt wollte ich die fromHexToByte Methode eliminieren und heraus kam das:
Version 2:
Java:
public static byte[] fromHexByteArrayToBytes(byte[] array, int max){
byte[] bytes=new byte[max];
for(int i=0;i<max;i++){
int num = i * 2;
bytes[i] = (byte) ((bytes[array[num]-'0'] << 4) | bytes[array[num+1]-'0']);
}
return bytes;
}
Mysteriöser Weise ist der Rückgabewert der zweiten Version vollkommen anders.
Ich bin für jede Hilfe und jede Idee dankbar.
spyboot