Re: looping through a list, starting at 1
Eric Sosman <esosman@ieee-dot-org.invalid> writes:
This "overload" is feeble at best: "+" is overloaded six ways,
"-" five, "*", "/", "%", "++", "--", "<", "<=", ">", and ">=" four
each. "==" and "!=" and "=" and "." and "instanceof" are overloaded
to an infinite degree (countable, I think). So what?
The JLS 3 defines ?overloading? for methods in 8.4.9 and 9.4.2
and for constructors in 8.8.8. So one cannot derive from the
JLS that any operator in Java is overloaded at all.
One also might define it semantically as ?having several
different meanings (depending on the static argument type)
when expressed in the English language?.
Then, ?+? has two overloads ?plus? and ?concatenated with?,
but one might get by with counting only one overload ?plus?
when one can mentally subsume string concatenation under the
English conjunction of ?plus?.
?+? for strings has something natural, given then it makes
?length? to be similar to a kind of
http://en.wikipedia.org/wiki/Ring_homomorphism
(not precisly), given that
length( s + s1 )= length( s )+ length( s1 ),
length( s + "" )= length( s )+ 0,
and, with Perl's ?x? operator (written as ?*? below), for
an int value i, even
length( s + s + ... + s [i times] )= length( s * i )
length( s + s1 * i )= length( s )+ length( s1 )* i,
length(( s + s1 )* i )=( length( s )+ length( s1 ))* i
length( "" * i )= 0 * i, and possibly more
hold.