Ich benutze einen Java Decompiler und es scheint einen vernünftigen Code zu geben, außer dass es seltsame Symbole für konstante ganze Zahlen gibt. Beispiel:Java Decompiler gibt seltsame Symbole
#int[] arr = new int['田'];
Dieses Symbol hat einen numerischen Wert in U + 7530. Ich frage mich, ob es funktioniert, dieses Symbol auf seinen numerischen Wert zurückzusetzen oder ich kann mich nicht auf diesen Mechanismus verlassen?
Mein Problem ist, dass dieser Code eine Array-Out-of-Bound-Ausnahme gibt, so dass die Größe der Arrays sehr wichtig ist.
Sie haben Ihr Betriebssystem nicht angegeben. Eine Vermutung ist, dass das Betriebssystem-Gebietsschema auf eins eingestellt ist, das vollständigen Unicode benötigt. Wenn dies der Fall ist, kann die Einstellung auf US oder eine andere englischsprachige Konstante dazu führen, dass Konstanten in Ganzzahlen und nicht in Unicode-Zeichen aufgelöst werden. – Gene
Beachten Sie, dass '(int) '田' == 30000'; Da Array-Indizes immer ganze Zahlen sind, macht es keinen Unterschied, ob Sie ''田' 'oder' 30000' verwenden. –
Danke. Jetzt macht es Sinn. –