Kezdőoldal » Számítástechnika » Programozás » Mi a különbség a két deklaráci...

Mi a különbség a két deklaráció között? (JAVA)

Figyelt kérdés

String elso = "alma";

String masodik = new String ("alma");


2015. febr. 23. 19:42
 1/6 Tengor ***** válasza:
26%
Lényegében semmi. A második objektum orientáltabb kinézetű.
2015. febr. 23. 19:52
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:
26%
U.a. mert a string igazából referencia típus de értéktípusként is viselkedhet.
2015. febr. 23. 20:20
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:
15%

Java nyelven a két sor ugyan azt csinálja, egy String objektumot készít és egy referenciához rendeli.


Java nyelven a String osztály elemi típusként viselkedik, ennek oka, hogy a string használata legalább olyan gyakori és elemi mint mondjuk az int vagy a double. Ez csupán kódbeli különbség, a byte kód mind a kettő esetben megegyezik, tehát az első sor úgy viselkedik mint a második.


FYI:


C#-ben ez hasonlóképpen van.


C++-ban viszont a két deklaráció között komoly különbség van, az első a stackben hoz létre egy lokális objektumok, amire a scope (hatáskör) végén destruktor hívódik. A második pedig a heap-ben hoz létre egy objektumot és egy mutatót ad vissza, amit nekünk kell felszabadítanunk. Tehát még a típusa sem egyezik sem a kettőnek. C++-ban is van referencia, de teljesen más módszertan szerint működik.

2015. febr. 23. 21:36
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:
100%

Van különbség, ajánlom mindenki figyelmébe:

[link]

2015. febr. 24. 09:36
Hasznos számodra ez a válasz?
 5/6 Tengor ***** válasza:
8o
2015. febr. 24. 09:41
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:

#4 Végre egy helyes komment.

Ha érdekel, keress rá "java string interning"-re.

2015. febr. 24. 15:49
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!