Nach einem Kommentar von OP: kann nicht mehrCasting int Byte gibt unterschiedliche Ergebnisse in Netbeans und JCreator
ich NetBeans reproduziert werden verwenden, um meine Java-Programme zu entwickeln, und sie funktionieren einwandfrei. Aber wenn ich eine JAR-Datei meines Programms mache, gibt es mir unterschiedliche Ausgabe für den gleichen Eingang.
hatte ich eine harte Zeit Debuggen und ich fand, dass in NetBeans, wenn ich int
zu byte
die Ergebnisbereiche in [-128; 128)
gegossen, während der gleiche Code in JCreator in [0; 256)
ist Wie kann ich die Reichweite immer [-128; 128)
machen ?
private static byte[] convertHexString(String ss) {
try{
byte digest[] = new byte[ss.length()/2];
for (int i = 0; i < digest.length; i++) {
String byteString = ss.substring(2 * i, 2 * i + 2);
int byteValue = Integer.parseInt(byteString, 16);
digest[i] = (byte) byteValue;
}
// Test
for(int i = 0; i < digest.length; ++i){
System.out.println(digest[i]);
}
return digest;
}
catch(Exception e){
return null;
}
}
Sieht aus wie ein Fehler in JCreator (wir sprechen über [diese] (http://jcreator.com), rechts ?); es sieht so aus, als wenn man von "byte" nach "int" (in 'println()') uploadet, wird das Vorzeichenbit nicht wie erforderlich tragen, daher sind Ihre Ergebnisse – fge
Nicht nur in (JCreator), sondern auch in einer normalen Windows-Umgebung. Wenn ich die (JAR) Datei in Windows ausführe, gab es mir dasselbe Ergebnis wie bei (JCreator). – 0FiRE0
Und was ist dein JDK? Ist es Oracle? – fge