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
> **
>

Odpovedet emailem