Was möchtest du denn genau mit diesem Array anstellen? Zuallererst geht das leider nicht, was du da vorhast. Für den Namen "Matthias" brauchst du entweder ein Stringarray, oder, wenn du die Buchstaben einzeln speichern willst, ein Char-Array (Character).
Zweite Frage: Mit was möchtest du den Rest ausfüllen?^^
Ich würd gern nochmal auf G@sts Post von heute 14:34 hinweisen. Man kann natürlich die Bytes eines Strings extrahieren und in einem Byte-Array speichern. Man sollte sich aber vor Fallstricken beim Encoding hüten. Es ist nämlich keineswegs so dass ein Byte einem Zeichen im String entspricht. Jenach Encoding werden Zeichen nämlich in einem, zwei oder sogar vier Bytes gespeichert. Dann kommt bei einer Ausgabe gerade von Sonderzeichen (wozu auch bspw. das ß gehört) Grütze raus. Vielleicht solltest Du also den Algorithmus nochmal überdenken.
Sind matthias und G@st jetzt dieselbe Person? Was soll das.
Alternativ kann man sich auch überlegen, in welchen Format Zeichen/Zeichenketten intern verwaltet werden (in Unicode). Dann geht auch so etwas:
Java:
byte[] ba =newbyte[64];// hier Vorsicht bei der LängeString s ="Matthias";for(int i =0; i < s.length(); i++){
ba[i]=(byte) s.charAt(i);// hier Vorsicht beim Konvertieren/Casten}for(int i =0; i < ba.length; i++){System.out.print((char) ba[i]);}
A String represents a string in the UTF-16 format in which supplementary characters are represented by surrogate pairs (see the section Unicode Character Representations in the Character class for more information). Index values refer to char code units, so a supplementary character uses two positions in a String.
Dabei sind auch die einzelnen Konstruktoren interessant: String (Java Platform SE 6)[],%20java.lang.String%29
Constructs a new String by decoding the specified array of bytes using the specified charset. The length of the new String is a function of the charset, and hence may not be equal to the length of the byte array.
The behavior of this constructor when the given bytes are not valid in the given charset is unspecified. The CharsetDecoder class should be used when more control over the decoding process is required.
char-Arrays sind prinzipiell nichts anderes als byte-Arrays mit doppelter Länge, denn ein char benötigt 16 Bytes. Es ist also nicht falsch, an dieser Stelle auch von Bytes zu sprechen.
BTT: Trotzdem kommt es natürlich immer auf die Darstellungs- bzw. Repräsentationsform an. Wenn ein Zeichen "plötzlich" durch ein byte dargestellt werden soll, ist das eine "Encodierung" in ein anderes Format - und umgekehrt genauso.
Dazu gibts aber die ganzen Methoden u.A. von String: z.B. getBytes(), getBytes(Charset charset), getBytes(String charsetName) oder Charset#encode, Charset#decode usw.
BTT 2: Ein byte-Array hat theoretisch keine Mindest- und keine Höchstlänge. Es gibt bspw. auch Arrays der Länge 0. Welche Länge ein Array höchstens haben darf, muss man jetzt wieder in der API nachlesen