Hallo!
hat jemand einen Tip, wie man die folgenden
beiden Methoden noch schneller machen kann?
(btw der Zweck der Funktionen ist, Texte
platzsparend abzuspeichern, wenn möglich)
hat jemand einen Tip, wie man die folgenden
beiden Methoden noch schneller machen kann?
(btw der Zweck der Funktionen ist, Texte
platzsparend abzuspeichern, wenn möglich)
Code:
//--------------------------------------------------------------------------
// Wandelt einen String in ein Byte-Array um, sofern möglich, sonst 'null';
// Es können nur Strings mit einem char-Wert von 0 bis 255 umgewandelt werden
private static byte[] strToBytes(String str) {
int n = str.length();
byte[] b = new byte[n];
char c; // vermeidet doppelten aufruf von 'str.charat(i)' innerhalb
// der schleife, was langsamer ist (getestet!)
for (int i=0; i<n; i++) {
c = str.charAt(i);
if ((c & 0xFF00) != 0) {
b = null; // speicher freigeben + rückgabewert setzen
break;
}
b[i] = (byte)c;
}
return b;
}
//--------------------------------------------------------------------------
// Umkehr zu -> strToBytes(String str)
private static String bytesToStr(byte[] bytes) {
int n = bytes.length;
char[] c = new char[n];
for (int i=0; i<n; i++) {
c[i] = (char)(bytes[i] & 0xFF);
}
return new String(c);
}