Uff to se tu vždycky pěkně ztraptím :-( Ale děkuju za odpovědi. Už to snad chápu. Vždy mi to moc pomůže.
Libor Dne 4. dubna 2011 13:02 Roman Kratochvil <[email protected]>napsal(a): > Zdravím, > nikoliv, naopak, vše je předáváno referencí. > > Roman > > > > *From:* Libor Jelinek <[email protected]> > *Sent:* Monday, April 04, 2011 12:55 PM > *To:* Java <[email protected]> > *Subject:* read() z IO - předávání referencí? To snad ne.. > > Dobrý den, > dnes další "jobovka" :-) Jak je možné, že read() z potomků InputStream > používá něco co by se v jiných jazycích nazvalo výstupní parametry nebo > předávání parametrů referencí (ByRef např. ve VB). Java přeci nic takového > nemá. Vše je předáváno metodám "ByVal", tedy hodnotou. > > Tak jak to může např. > * FileInputStream.read(byte[] b)* > mít v JavaDocu napsáno > * @param b the buffer into which the data is read.* > > Obecně jako nováček bych čekal, že read bude vrácet byte[], nikoli, že mi > načtené pole bajtů bude změneno v proměnné předané hodnotou (což není možné > přece...). > * > *Když se podívám na zdrojáky, tak se nedostanu dále, než že to využívá JNI > v signaturách metod, např.: > *private native int readBytes(byte b[], int off, int len) throws > IOException;* > * > *Přiznávám, že JNI neznám a nikdy jsem nepoužíval. To je díky tomu? Nebo > co je to za "magii"? :-) > > Díky > Libor > ** >
