# ArrayList in ein byte- Array



## MQue (21. Mai 2007)

Hallo nochmal,


ich habe mir eine ArrayList erzeugt in welcher ich meine Einträge schreibe, Diese ArrayList möchte ich mit TCP bzw. RS232 übertragen, daher muss ich die ArrayList in ein byte- Array konvertieren.
Kann ich das irgendwie ganz einfach machen oder muss ich mit einer for- Schleife die einträge kompieren?

Vielen Dank

lg Michl


----------



## Der Müde Joe (21. Mai 2007)

ArrayList.toArray(T[] t)
?


----------



## MQue (21. Mai 2007)

ja, das hab ich auch gefunden aber ich kämpfe mit T[] t, was muss ich da einsetzen?
Vielen Dank.


----------



## Murray (21. Mai 2007)

Das hängt davon ab, was du für Objekte in die Liste eingehängt hast. Wenn die Liste Strings enthält, nimm ein String-Array. 
Bsp:

```
List<String> lst = new ArrayList<String>();
lst.add( "xzy");
/* ... */

String[] arr = lst.toArray( new String[ lst.size()]);
```


----------



## MQue (21. Mai 2007)

ok, 

und wie kann ich von der Wrapper- Klasse Byte in byte umwandeln, meine Methode benötigt nämlich byte[] Array und ich habe jetzt 
Byte[] ArrBufinByte = (Byte[])iArrBuf.toArray(new Byte[ArrBuf.size()]);

Danke


----------



## Der Müde Joe (21. Mai 2007)

die werden doch Autogeboxt

byte b = 10;
Byte c = new Byte(b);
byte d = c;


----------



## Murray (21. Mai 2007)

Wenn ein byte[] gefragt ist und kein Byte[], dann hilft das Auto-Boxing nicht weiter. Auch System.arraycopy kann leider nicht von Referenztypen auf primitiven Typen kopieren. Insofern bleibt wohl nur die eigene Iteration:

```
byte[] ba = new byte[ArrBuf.size().size()];
for ( int i=0; i<ba.length; i++) ba[i]=ArrBuf.size().get( i);  //--- hier greift das Auto-Boxing Byte <-> byte
```


----------



## MQue (21. Mai 2007)

DankeSchön!!

lg


----------

