Witam, otóż robiąc pewien kurs napotkałem się z dwoma sposobami przypisania, mianowicie :
int zmienna = 5;
i
int zmienna(5);
Czy te zapisy różnią się czymś od siebie? Można ich używać zamiennie?
Witam, otóż robiąc pewien kurs napotkałem się z dwoma sposobami przypisania, mianowicie :
int zmienna = 5;
i
int zmienna(5);
Czy te zapisy różnią się czymś od siebie? Można ich używać zamiennie?
Różnią się tym, że w pierwszym przypadku używa się znaku równości, a w drugim nie. Za to w tym drugim liczba musi być umieszczona w nawiasie.
;P
W liście inicjalizacyjnej konstruktora można użyć tylko drugiego zapisu.
Czyli jak będę używał tylko drugiego zapisu to to nie będzie miało jakichś fatalnych skutków w programie? ;d
Oprócz tego, że w przypadku typów prostych jest to po prostu nieczytelne. Takiej formy używa się w przypadku obiektów by podkreślić użycie konstruktora kopiującego bądź konwertującego, a nie operatora przypisania przy inicjalizacji.
W starych podręcznikach i kursach Javy (chyba takich z XX wieku) nadal są zapisy:
String s = new String("abc");
Nienajlepszy przykład, s="abc" i s=new String("abc") nie są równoważne.
Po instrukcjach
String s1 = "abc";
String s2 = "abc";
String s3 = new String("abc");
porównanie referencji s1 == s2 zwróci true, a porównanie s1 == s3 zwróci false.