Ik zie een onbekende notatie in de Android-broncode: *=
Bijvoorbeeld: density *= invertedRatio;
Ik ben niet bekend met de ster-gelijk-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 96%
In Java wordt de *=
een operator voor samengestelde vermenigvuldiging 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
en ga zo maar door.
Antwoord 3, autoriteit 62%
Het is een verkorte toewijzingsoperator. Het heeft de volgende vorm:
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 info:
Toewijzingsoperators gebruiken in Java
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.