Ik zie een onbekende notatie in de Android-broncode: *=
Bijvoorbeeld: density *= invertedRatio;
Ik ben niet bekend met de Star-equals-notatie. Kan iemand het uitleggen?
Antwoord 1, Autoriteit 100%
density *= invertedRatio;
is een verkorte versie van density = density * invertedRatio;
Deze notatie komt van c.
Antwoord 2, Autoriteit 154%
In Java wordt de *=
een vermenigvuldigingscompound toewijzingsoperator genoemd.
Het is een snelkoppeling voor
density = density * invertedRatio;
dezelfde afkortingen zijn mogelijk, b.v. Voor:
String x = "hello "; x += "world" // results in "hello world"
int y = 100; y -= 42; // results in y == 58
enzovoort.
Antwoord 3, Autoriteit 62%
Het is een shorthand-toewijzingsoperator. Het neemt de volgende vorm aan:
variable op= expression;
is een korte vorm van
variable = variable op expression;
dus,
density *= invertedRatio;
is gelijk aan
density = density * invertedRatio;
Zie de volgende link voor meer informatie:
Hoe Toewijzingsbeheerders in Java
gebruiken
Antwoord 4, Autoriteit 23%
Zoals Da al zei, het is een afkorting voor density = density * invertedRatio;
– het is niets Android-specifiek, het is standaard Java. U vindt dit (en soortgelijke operators) in veel talen met een C-achtige syntaxis.