android - Class casting and parentheses -
i have seen following code suggested number of times allowing fragment access variable in activity.
foo = ((mainactivity)this.getactivity()).getfoo();
now, if looked like:
foo = (mainactivity)this.getactivity().getfoo();
if make sense being cast (mainactivity), however, enclosing entire left side in parentheses exactly?
thanks much,
-john
just in maths, adding parentheses means "do first". in expression:
((mainactivity)this.getactivity()).getfoo();
we saying first:
(mainactivity)this.getactivity()
then on result of above, this:
.getfoo();
if don't have parentheses,
(mainactivity)this.getactivity().getfoo();
we saying first, since casting has low precedence:
this.getactivity().getfoo()
then cast result of above mainactivity
.
obviously, latter expression not work because there no getfoo
defined in activity
, getactivity
returns.
Comments
Post a Comment